专栏首页微服务架构日记Nuxt.js项目Docker部署和pm2部署

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

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
参考文档

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端运维部署那些事

    nrm 更多用于如果公司内网部署了私有仓库,也就是方便用nrm作来源切换,也有益于依赖的版本管理,如果你想搭建自己的私有仓库,可以使用verdaccio,可以看...

    树酱
  • pm2快速部署Django项目

    推荐使用npm安装pm2(安装nodejs之后, npm就自动安装好了) nodejs安装包下载地址

    zhaoolee
  • Linux部署之Docker方式部署项目

    java攻城狮
  • Docker 部署Django项目

    这里指定 Python 版本为docker官方提供的 "0.0.0.0:8000" 这里笔者开启容器中 8000 端口

    程序员同行者
  • Docker部署Vue项目

    具体请参考官方文档 https://cli.vuejs.org/zh/guide/deployment.html#docker-nginx

    阿贾
  • docker部署springboot项目

    1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfile文件

    故久
  • Docker部署java项目[tomcat环境][第一次优化]

    简单、
  • docker部署springboot项目

    dalaoyang
  • Docker部署Python项目

    常见_youmen

扫码关注云+社区

领取腾讯云代金券