部署

普通部署

1.0> 打包项目

nuxt build

2.0> 启动

编译后的项目包位于 .output 目录下,使用如下命令即可启动项目:

node .output/server/index.mjs

PM2部署(推荐)

PM2 是一个进程管理器,它帮助你管理和保持应用持续在线,详见官方文档:https://pm2.keymetrics.io/docs/usage/quick-start/

1.0> 全局安装PM2

npm install pm2 -g

2.0> 在项目根目录新建 ecosystem.config.js 配置文件,内容如下:

module.exports = {
  apps: [
    {
      name: 'NuxtAppName',
      exec_mode: 'cluster',
      instances: 'max',
      script: './.output/server/index.mjs'
    }
  ]
}

3.0> 打包项目

nuxt build

4.0> 启动

pm2 start ecosystem.config.js --env prod

设置开机启动

1>. 使用 pm2 启动项目

pm2 start ./dist/main.js

2> 生成开机启动的命令

pm2 startup

To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/home/user1/.nvm/versions/node/v8.8.1/bin /home/user1/.nvm/versions/node/v8.8.1/lib/node_modules/pm2/bin/pm2
startup systemd -u user1 --hp /home/user1

3>. 粘贴上面的命令到终端

sudo env PATH=$PATH:/home/user1/.nvm/versions/node/v8.8.1/bin /home/user1/.nvm/versions/node/v8.8.1/lib/node_modules/pm2/bin/pm2
startup systemd -u user1 --hp /home/user1

4>. 将当前pm2运行应用保存到 /home/user1/.pm2/dump.pm2 下,开机重启时pm2会读取该文件中的内容,并启动相关应用

pm2 save

常用命令

## 启动
pm2 start app_name
pm2 start app_name --watch # 当文件变化时自动重启应用

## 列出所有已启动的应用
pm2 list 

## 显示每个应用程序的CPU和内存占用情况
pm2 monit

## 显示指定应用程序的所有信息
pm2 show [app-id/app-name] 

## 显示应用程序的日志信息
pm2 log 
pm2 log [app-id/app-name] # 显示指定应用程序的日志信息
pm2 flush # 清空所有日志文件

## 停止应用
pm2 stop all ## 停止所有应用
pm2 stop [app-id/app-name] ## 停止指定应用

## 重启应用
pm2 restart all # 重启所有应用程序
pm2 restart [app-id/app-name] ## 重启指定应用程序

## 删除
pm2 delete all # 关闭并删除所有应用
pm2 delete [app-id/app-name] # 关闭并删除指定应用

## 0秒停机重新加载(集群模式下,可以达到重启时不停止服务)
pm2 reload app.js # 重新启动所有进程,始终保持至少一个进程在运行
举报

© 著作权归作者所有


1