一、在项目的根目录增加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列表中所有的进程
标签:PM2,pm2,start,部署,nginx,进程,服务器,Nuxt,nuxt From: https://www.cnblogs.com/youwei716/p/16940857.html