一、在项目的根目录增加ecosystem.config.js文件

pm2的配置文件,pm2启动的时候会自动读取该配置

module.exports = {
  apps: [
    {
      name: 'nuxt-website',  //名称可以自定义
      exec_mode: 'cluster',
      instances: 'max', // Or a number of instances
      script: './node_modules/nuxt/bin/nuxt.js',
      args: 'start'
    }
  ]
}

二、nuxt.config.js中配置server节点

module.exports = {
   
    //端口可以自定义,主要要跟nginx配置的代理端口保持一致
    server: {
        port: 8000,// default: 3000
        host: '0.0.0.0',
        timing: false
    },

}

三、项目打包

执行打包命令后,将项目内以下文件复制到服务器指定目录
.nuxt
static
nuxt.config.js
package.json
package-lock.json
ecosystem.config.js

 

四、登录服务器进入前端项目部署的目录安装依赖包

npm install

其实就是安装前端项目的运行所需的环境依赖包,安装报错的话检查是否缺环境或者环境版本问题(nodejs);

安装报错还有种解决方法就是将本地的node_modules给直接扔进服务器项目安装目录 只不过包太大一般都不采用这种方式

 

五、安装完依赖之后 执行npm start 启动项目

运行结果如下:重点是需要看listenging的值,后面nginx部署需要用到

 

 

 

六、配置nginx

这里省略服务器安装nginx的步骤,建议面向百度安装

安装完nginx后,对应nginx目录内有一个conf目录 ,配置目录内nginx.conf

// An highlighted block
   server {
        listen       8081;
        server_name  localhost;
        location / {
            //这里的代理地址就是上一步前端项目npm start运行后的地址
          proxy_pass http://10.0.0.10:8000; 

        }
      }
            

配置完nginx记得重启(执行nginx -s reload

 

七、pm2 进程守护

1. 安装全局pm2
npm install -g pm2
2. 启动服务

进入到nuxt项目对应的文件夹,执行

pm2 --name=你的服务名 start npm -- run start

//比如项目我在ecosystem.config.js里面自定义了名称‘nuxt-website’,那这里执行命令就是:pm2 --name=nuxt-website start npm -- run start

3. 附上pm2常用命令

pm2 list                             查看所有进程
pm2 show 0                           查看进程详细信息,0为PM2进程id 
pm2 stop all                         停止PM2列表中所有的进程
pm2 stop 0                           停止PM2列表中进程为0的进程
pm2 reload all                       重载PM2列表中所有的进程
pm2 reload 0                         重载PM2列表中进程为0的进程
pm2 delete 0                         删除PM2列表中进程为0的进程
pm2 delete all                       删除PM2列表中所有的进程