NuxtJS 项目完成之后,如何部署到nginx?
总流程:Nuxtjs打包----》服务器上部署运行----》nginx监听----》PM2进程守护
一:NuxtJS打包部署
npm run build 打包应用,打包完成后,我们将:
.nuxt
server文件夹(里面有index.js)
nuxt.config.js
package.json
传到服务器空间里,然后在服务器上部署运行:
npm install #运行npm install安装package里的依赖
npm start #运行npm start就可以运行起来nuxt的服务渲染了
注意:npm install如果报错?Error: EACCES: permission denied, mkdir ‘......node-sass/build‘错误?
解决:npm install node-sass --unsafe-perm --save-dev
在浏览器地址栏:http://127.0.0.1:3000/ 即可访问。
二:配置nginx代理监听3000端口,package打包时端口3000(默认 可修改)
找到nginx配置文件:nginx.conf
server {
listen 80;
server_name test.ssr.net;
root D:/nginx/html;
location / {
proxy_pass http://127.0.0.1:3000 ;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
启动nginx
输入域名即可访问
三:pm2开启进程守护
1、全局安装pm2
npm install -g pm2
2、进入到对应的目录执行:
pm2 start npm --name "SSR-service" -- run start #SSR-service的名称是我们在package中的项目名称
执行完pm2的启动命令后,我们用 pm2 list 查看一下进程列表,我截一下我个人服务器的pm2列表:
pm2的一些命令:
查看当前守护进程 :pm2 list
停止所有的应用程序:pm2 stop all
停止某个应用程序:pm2 stop id
重启所有应用程序:pm2 restart all
关闭并删除所有应用:pm2 delete all
删除指定应用:pm2 delete id