PM2 和 NGIXN 部署NODE项目

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能

pm2 常见命令

# 查看当前正在运行的进程
pm2 list

# 启动所有应用
pm2 start id|name|all
pm2 start app.js --name web123

#添加应用进程/应用watch 
pm2 start bin/www --watch

# 重启所有应用
pm2 restart id|name|all

# 停止所有的应用程序
pm2 stop id|name|all

# 关闭并删除所有应用
pm2 delete id|name|all

# 控制台显示所有日志
pm2 logs

# 控制台显示指定编号的日志
pm2 logs id

# 查看信息
pm2 show id|name

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

nuxt 项目部署

第一、项目本地打包

npm run build 

第二、找FTP或者其他方式,把以下几个文件上传到服务器部署目录。注意 如果有其他项目依赖的文件夹也要上传到服务器的目录。
具体操作 把.nuxt nuxt.config.js package.json static 文件上传到服务器的部署目录 ,如果有像 api, utils 等文件夹也要上传。
第三、 安装项目依赖, 全局安装 pm2

npm install 
npm install -g pm2

第四、 pm2 启用 npm 命令

pm2 start npm --name "name" -- run start

第六、 ngixn 代理转发 | 实现请求转发 实现原理

反向代理适用于很多场合,负载均衡是最普遍的用法。 nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理。 nginx 反向代理官方文档: NGINX REVERSE PROXY 当在一台主机上部署了多个不同的web服务器,并且需要能在80端口同时访问这些web服务器时,可以使用 nginx 的反向代理功能: 用 nginx 在80端口监听所有请求,并依据转发规则(比较常见的是以 URI 来转发)转发到对应的web服务器上。 例如有 webmail , webcom 以及 webdefault 三个服务器分别运行在 portmail , portcom , portdefault 端口,要实现从80端口同时访问这三个web服务器,则可以在80端口运行 nginx, 然后将 /mail 下的请求转发到 webmail 服务器, 将 /com下的请求转发到 webcom 服务器, 将其他所有请求转发到 webdefault 服务器。

server {
    server_name 80;
    location ^~ / mail / {
        proxy_pass http: //example.com:protmail/;
    }

    location ^~ / com / {
        proxy_pass http: //example.com:portcom/main/;
    }

    location ^~ / {
        proxy_pass http: //example.com:portdefault;
    }
}

修改 nuxt的端口

在package.json 里面添加config

"config": {
    "nuxt": {
      "host": "0.0.0.0",
      "port": "39006"
    }
  }
原文地址:https://www.cnblogs.com/boyGdm/p/14922541.html