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

简介: Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可用来创建服务端渲染应用。
### 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

参考文档

相关文章
|
11天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
69 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
22天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
72 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
4天前
|
CDN
如何在项目中使用Moment.js库?
如何在项目中使用Moment.js库?
|
9天前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
12天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
12天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
28 1
|
22天前
|
缓存 JavaScript 持续交付
“解锁Node.js新纪元:如何借助Docker打造快速、高效且一致性的现代应用部署体验”
【10月更文挑战第25天】本文介绍了如何使用Docker容器化Node.js应用,包括容器化的好处、创建Docker镜像的步骤、构建和运行镜像的方法、管理依赖、保持应用更新以及调试技巧。通过容器化,可以提高应用的可移植性和可扩展性,简化开发和部署流程。
26 2
|
25天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
56 2
|
26天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
32 3
|
28天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
238 3