项目使用 nuxt2 写的, 现在进行了 npm run build 打包, 想在生产环境中使用docker部署,部署方式如下
将打包后的 .nuxt, static, nuxt.config.js, package.json, node_modules上传至服务器 /home/wwwroot/default 下
(nginx等的配置略)
ecosystem.config.json
{ "apps": { "name": "web", "cwd": "/home/node", "script": "./node_modules/nuxt/bin/nuxt.js", "args": "-c /home/node/nuxt.config.js", "exec_mode": "cluster", "instances": 4, "watch":false, "error_file": "/home/logs/web-err.log", "out_file": "/home/logs/web-out.log", "log_date_format": "YYYY-MM-DD HH:mm:ss", "autorestart": true, "max_memory_restart": "500M" }}
直接基于拉取的node:16.14.0镜像运行一个容器
$ docker pull node:16.14.0$ docker run -itd --name nuxtProject01 \-p 3000:3000 \-v /home/wwwroot/default:/home/node \-v /home/logs:/home/logs node:16.14.0
然后进入容器内
$ docker exec -it nuxtProject01 bash
安装pm2
$ npm install pm2 -g
进入容器项目目录并执行ecosystem.config.json
$ cd /home/node && pm2 start ecosystem.config.json
项目可以正常运行
Dockerfile文件:
FROM node:16.14.0RUN npm config set registry https://registry.npm.taobao.org RUN npm install pm2@5.2.0 -g WORKDIR /home/nodeENV NODE_ENV=productionENV HOST 0.0.0.0 EXPOSE 3000CMD ["pm2-runtime", "start", "ecosystem.config.json"]
使用该 Dockerfile 构建自定义镜像:
$ docker build --no-cache -t nuxtImage:v1.0 .
基于镜像运行一个容器:
$ docker run -itd --name nuxtProject01 \-p 3000:3000 \-v /home/wwwroot/default:/home/node \-v /home/logs:/home/logs nuxtImage:v1.0
现在访问服务,有以下报错:
No build files found in /home/node/ecosystem.config.json/.nuxt/dist/server. 02:09:50Use either `nuxt build` or `builder.build()` or start nuxt in development mode. Use either `nuxt build` or `builder.build()` or start nuxt in development mode. at VueRenderer._ready (node_modules/@nuxt/vue-renderer/dist/vue-renderer.js:4219:13) at async Server.ready (node_modules/@nuxt/server/dist/server.js:637:5) at async Nuxt._init (node_modules/@nuxt/core/dist/core.js:720:7)
✖ Nuxt Fatal Error │ │ │ │ Error: No build files found in /home/node/ecosystem.config.json/.nuxt/dist/server. │ │ Use either `nuxt build` or `builder.build()` or start nuxt in development mode.
找不到原因头疼
你检查一下,怎么ecosystem.config.json 变文件夹了 /home/node/ecosystem.config.json/.nuxt/dist/server
提示:找不到进程或命名空间日志 我的命令是:
本文向大家介绍利用forever和pm2部署node.js项目过程,包括了利用forever和pm2部署node.js项目过程的使用技巧和注意事项,需要的朋友参考一下 本文主要给大家分享的是利用forever和pm2部署node.js项目过程的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 一、forever forever可以在cmd或ssh连接断开时,让项目一直运行,而且可以在项目崩
我使用下面的dockerfile生成一个图像调用userservice 然后我使用以下命令运行容器 所以我去检查编译的字节码版本,确实是52,我不知道为什么这个错误还是报告
本文向大家介绍Docker部署web项目的实现,包括了Docker部署web项目的实现的使用技巧和注意事项,需要的朋友参考一下 上一篇已经安装好docker服务,下面继续介绍如何部署web项目 一:随便创建目录dock,准备好如下文件: 二、编写Dockerfile,通过它能快速地构建docker镜像 新增如下配置 解释: (1)FROM centos 表示从docker官方仓库中获取centos
如下图:
问题描述: 项目代码更新之后去接口访问出现了502的错误; 一开始以为是nginx配置出错了,但一想没有改动里面的配置; 然后敲了一下pm2 list命令,看看启动的情况,发现在status那一栏是errored; pm2 logs www日志 Nginx error.log pm2 show www 求解,万谢