1肉拓、nginx和代碼中配置好域名和端口
2罐监、服務(wù)器安裝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贯吓、部署
- 本地運(yùn)行
npm run build
打包懈凹,然后把.nuxt
、static
悄谐、nuxt.config.js
介评、package.json
、package-lock.json
上傳到服務(wù)器
// .nuxt
// static
// nuxt.config.js
// package.json
// package-lock.json
上傳好后爬舰,運(yùn)行npm install
安裝依賴
最后運(yùn)行npm run start
啟動(dòng)項(xiàng)目
- 另外一種方法在服務(wù)器上打包上傳整個(gè)項(xiàng)目到服務(wù)器上们陆,當(dāng)然像
node_modules
、.idea
之類的除外情屹,接著依次運(yùn)行:
npm install
npm run build
npm run start
如果有node-sass模塊坪仇,安裝過程可能會(huì)報(bào)錯(cuò),運(yùn)行
npm install node-sass --unsafe-perm --save-dev
來單獨(dú)安裝這個(gè)模塊就好了垃你。
如果在打包過程中報(bào)錯(cuò)椅文,看清報(bào)錯(cuò)信息,很有可能是node和npm版本問題惜颇,升級(jí)最新穩(wěn)定版本就好皆刺。
運(yùn)行
npm run start
啟動(dòng)項(xiàng)目過程中如果遇到報(bào)錯(cuò),可能是端口被占用官还,執(zhí)行命令
netstat -lnp|grep 8080 // 查看8080端口是否被占用
上圖我查看的是8089端口芹橡,已經(jīng)被占用了。
運(yùn)行kill -9 28390
殺死進(jìn)程望伦,然后再啟動(dòng)項(xiàng)目就可以了林说。
5煎殷、使用pm2守護(hù)進(jìn)程
剛才已經(jīng)安裝了pm2,在啟動(dòng)項(xiàng)目之后腿箩,執(zhí)行命令
pm2 start npm --name "nuxt" -- run start
ok豪直,到這里部署就算完成了。
pm2還有很多命令珠移,常用的
pm2 list // 查看任務(wù)列表
pm2 stop app_name|app_id // 停止指定name或者id的任務(wù)
pm2 stop all // 停止所有任務(wù)
pm2 delete app_name|app_id // 刪除指定name或者id的任務(wù)
pm2 delete all // 刪除所有任務(wù)
pm2 logs // 查看日志
pm2 kill // 殺死pm2進(jìn)程
npm install core-js@2 // nuxt 部署報(bào)錯(cuò)弓乙,缺少core-js
可以去官網(wǎng)學(xué)習(xí)查看http://pm2.keymetrics.io/