1、nginx和代码中配置好域名和端口
2、服务器安装node
3、安装pm2
npm install -g pm2
可能需要建立软连接
ln -s /root/node-v8.9.0-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/local/bin
4、部署
- 本地运行
npm run build
打包,然后把.nuxt
、static
、nuxt.config.js
、package.json
、package-lock.json
上传到服务器
// .nuxt
// static
// nuxt.config.js
// package.json
// package-lock.json
上传好后,运行npm install
安装依赖
最后运行npm run start
启动项目
- 另外一种方法在服务器上打包上传整个项目到服务器上,当然像
node_modules
、.idea
之类的除外,接着依次运行:
npm install
npm run build
npm run start
如果有node-sass模块,安装过程可能会报错,运行
npm install node-sass --unsafe-perm --save-dev
来单独安装这个模块就好了。
如果在打包过程中报错,看清报错信息,很有可能是node和npm版本问题,升级最新稳定版本就好。
运行
npm run start
启动项目过程中如果遇到报错,可能是端口被占用,执行命令
netstat -lnp|grep 8080 // 查看8080端口是否被占用
上图我查看的是8089端口,已经被占用了。
运行kill -9 28390
杀死进程,然后再启动项目就可以了。
5、使用pm2守护进程
刚才已经安装了pm2,在启动项目之后,执行命令
pm2 start npm --name "nuxt" -- run start
ok,到这里部署就算完成了。
pm2还有很多命令,常用的
pm2 list // 查看任务列表
pm2 stop app_name|app_id // 停止指定name或者id的任务
pm2 stop all // 停止所有任务
pm2 delete app_name|app_id // 删除指定name或者id的任务
pm2 delete all // 删除所有任务
pm2 logs // 查看日志
pm2 kill // 杀死pm2进程
npm install core-js@2 // nuxt 部署报错,缺少core-js
可以去官网学习查看http://pm2.keymetrics.io/