文章

Nuxt部署

Nuxt部署

Nuxt部署

Nuxt部署

安装 node

首页要[去安装node](https://www.yuque.com/hutaoao/blog/yi0hls?singleDoc# 《安装node》) (版本建议高一点)

安装 pm2

1
2
3
npm install pm2@latest -g
# or
yarn global add pm2

本地打包

npm run build

会生成 .output 文件夹

配置 ecosystem.config.js

在项目根目录新建ecosystem.config.js

这里你要是整个项目源码都放在服务器,在服务器上执行 build 命令的话,该配置文件放在根目录

1
2
3
4
5
6
7
8
9
10
11
module.exports = {
  apps: [
    {
      name: 'NuxtAppName',
      port: '3000',
      exec_mode: 'cluster',
      instances: 'max',
      script: './.output/server/index.mjs' // 注意此处路径
    }
  ]
}

这里你要是本地打包后只上传 .output 文件夹至服务器,需将该配置文件放至 .output 目录下

1
2
3
4
5
6
7
8
9
10
11
module.exports = {
  apps: [
    {
      name: 'NuxtAppName',
      port: '3000',
      exec_mode: 'cluster',
      instances: 'max',
      script: './server/index.mjs' // 注意此处路径
    }
  ]
}

启动服务

pm2 start ecosystem.config.js

注意服务器要放开 3000 端口

nginx端口转发

上面默认是3000端口,可以通过子域名 nuxt.hutaoao.cn:3000 来访问

转发到80端口,就可以通过 子域名 nuxt.hutaoao.cn 来访问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 增加一个 server
server {
  listen 80;
  server_name nuxt.hutaoao.cn;

  location / {
    proxy_pass http://localhost:3000;
  }

  #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
  #error_page 404/404.html;
  ssl_certificate    /www/server/panel/vhost/cert/hutaoao.com/fullchain.pem;
  ssl_certificate_key    /www/server/panel/vhost/cert/hutaoao.com/privkey.pem;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 10m;
  error_page 497  https://$host$request_uri;
  #SSL-END
}
本文由作者按照 CC BY 4.0 进行授权