服务端渲染应用部署应该先编译构建,然后再启动 Nuxt 服务,可通过以下两个命令来完成:
nuxt build
nuxt start
我们已经在pakage.json里配置好script命令
{
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start",
"generate": "nuxt generate"
},
}
即先用npm run build编译打包,然后用npm run start发布项目,如果在本地http://localhost:3000 依然可以启动项目,说明打包是ok的
这时我们只需要在本地npm run build打包后,会在.nuxt生成一些新的文件,我们把.nuxt 、nuxt.config.js、pakage.json 、static四个文件/文件夹放到服务器上,然后安装依赖:npm install
最后用pm2来启动项目
pm2 是一个带有负载均衡功能的Node应用的进程管理器。当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。在服务器shell中,先安装pm2,安装后pm2 list查看进程列表,如果说pm2未找到,需要设置下环境变量
pm2安装ok后,进入nuxt项目目录,执行
pm2 start npm --name ‘project-name’ -- start
project-name,就是package.json里的name名
启动项目,这时项目运行在你服务器上的3000端口上,我们还需要使用nginx 作为反向代理把这个端口专门映射到一个域名上
upstream nodenuxt {
server 127.0.0.1:3000; #nuxt项目 监听端口
keepalive 64;
}
如果之后需要更新代码,本地重启打包把上述文件替换到服务器上,然后重启pm2即可
pm2 restart all
原文:https://www.cnblogs.com/goloving/p/11380213.html