### 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项目打包

命令执行后docker nodejs pm2,会在项目的.nuxt生成dist目录docker nodejs pm2,此时只须要把下边的文件复制到服务器对应的目录下即可

# 运行 npm run build 后,复制下面的4个文件到服务器
.nuxt
static
nuxt.config.js
package.json

docker nodejs pm2_pm2 node进程守护监控自动重启生成日志管理软件_nuxt项目打包dist目录文件复制服务器

项目运行

须要注意的是红旗linuxlinux桌面,--name旁边的名子是package.json中第一行的name

docker nodejs pm2_pm2 node进程守护监控自动重启生成日志管理软件_nuxt项目打包dist目录文件复制服务器

docker nodejs pm2_pm2 node进程守护监控自动重启生成日志管理软件_nuxt项目打包dist目录文件复制服务器

# 在上传到服务器的目录下运行,状态为online,说明部署成功
pm2 start npm --name "nuxt-django" -- run start --watch

docker nodejs pm2_pm2 node进程守护监控自动重启生成日志管理软件_nuxt项目打包dist目录文件复制服务器

相关命令

# 列表 PM2 启动的所有的应用程序
pm2 list
# 显示指定应用程序的日志
pm2 logs [app-name]
# 停止所有的应用程序
pm2 stop all
# 重启所有应用

nuxt项目打包dist目录文件复制服务器_docker nodejs pm2_pm2 node进程守护监控自动重启生成日志管理软件

pm2 restart all

docker布署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

pm2 node进程守护监控自动重启生成日志管理软件_nuxt项目打包dist目录文件复制服务器_docker nodejs pm2

# 国内环境使用,非国内环境使用会报错 RUN npm config set registry https://registry.npm.taobao.org RUN npm installCMD ["npm", "start"]

建立

把打包后的四个文件上传到服务器对应文件夹下,将前面新建的Dockerfile也置于此目录下

docker nodejs pm2_pm2 node进程守护监控自动重启生成日志管理软件_nuxt项目打包dist目录文件复制服务器

# 打包为镜像,上传文件的目录下运行
docker build -t testimage .

运行

pm2 node进程守护监控自动重启生成日志管理软件_docker nodejs pm2_nuxt项目打包dist目录文件复制服务器

docker run -dti --network=host --restart=always --name test testimage

# 未打印异常说明启动成功
docker logs test
# 查看nuxt默认端口3000是否开启成功
netstat -ntlp | grep 3000

docker nodejs pm2_pm2 node进程守护监控自动重启生成日志管理软件_nuxt项目打包dist目录文件复制服务器

参考文档

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复