Nuxt.js項目Docker部署和pm2部署

搜索框傳播樣式-白色版.png

pm2部署

pm2是一個node進程守護 、監控、自動重啓以及生成日誌的軟件,它能夠幫你很好的管理node項目。

安裝node、pm2等必要依賴

# 淘寶npm
npm install -g cnpm --registry=https://registry.npm.taobao.org
# pm2 安裝
npm install pm2 -g
# 軟鏈接(注意軟鏈接路徑必須是絕對路徑)
ln -s /usr/local/node8.11.4/bin/pm2  /usr/local/bin/pm2

nuxt項目打包

  • 執行npm run build,未報異常說明能夠正常運行部署,接着Ctrl+C中止nuxt便可,若本地再次運行使用npm startnpm run dev,會覆蓋剛纔打包的內容。
該命令執行後,會在項目的 .nuxt生成dist目錄,此時只須要把下面的文件複製到服務器對應的目錄下便可
# 運行 npm run build 後,複製下面的4個文件到服務器
.nuxt
static
nuxt.config.js
package.json

項目運行

須要注意的是,--name後面的名字是package.json中第一行的name

# 在上傳到服務器的目錄下運行,狀態爲online,說明部署成功
pm2 start npm --name "nuxt-django" -- run start --watch

相關命令

# 列表 PM2 啓動的全部的應用程序
pm2 list
# 顯示指定應用程序的日誌
pm2 logs [app-name]
# 中止全部的應用程序
pm2 stop all
# 重啓全部應用
pm2 restart all

docker部署

Dockerfile

  • 新建Dockerfile內容以下
FROM node:9.0.0
MAINTAINER www.gaozhe.net
ENV NODE_ENV=production
ENV HOST 0.0.0.0
RUN mkdir -p /app
COPY . /app
WORKDIR /app
EXPOSE 3000
# 國內環境使用,非國內環境使用會報錯
RUN npm config set registry https://registry.npm.taobao.org
RUN npm installCMD ["npm", "start"]

構建

  • 文件上傳
把打包後的四個文件上傳到服務器對應文件夾下,將上面新建的Dockerfile也放在此目錄下

# 打包爲鏡像,上傳文件的目錄下運行
docker build -t testimage .

運行

  • 運行容器
docker run -dti --network=host --restart=always --name test testimage
  • 查看是否成功部署
# 未打印異常說明啓動成功
docker logs test
# 查看nuxt默認端口3000是否開啓成功
netstat -ntlp | grep 3000

參考文檔

相關文章
相關標籤/搜索