pm2 用法之 ecosystem 部署 nodejs 项目

发布于 2024-09-04 12:37:30 字数 2694 浏览 14 评论 0

一、配置部署脚本文件

部署参考 http://blog.poetries.top/2018/11/18/react-ssr-next-deploy/

在项目根目录添加 pm2 的部署脚本文件 ecosystem.json

{
"apps": [
"name": "movie", //对应 Nginx 上的配置
"script": "app.js", //入口文件
"env": {
"COMON_VARIABLE": "true"
},
"env_production": {
"NODE_ENV": "production"
}
],
"deploy": {
"production": {
"user": "poetries", //Nginx 服务器上的 username
"host": ["120.120.14.21"], // 服务器地址
"port": "3922",
"ref": "origin/master", //从指定的分支拉取代码
"repo": "git@github.com:poetries/poetries.github.io.git",
"path": "/www/movie/production",//发布到服务器指定的目录下
"ssh_options": "StrictHostKeyChecking=no",
//构建在发布
"post-deploy": "npm install --registry=https://registry.npm.taobao.org && grunt build && pm2 startOrRestart ecosystem.json --env production",
"env": {
"NODE_ENV": "production"
}
}
}
}

二、配置 Nginx 的 server

nginx 安装目录下的 vhost 中新建一个 xx-3000.conf 的配置文件

upstream movie { // website 项目的目录名称
server 127.0.0.1:3000; // 服务器上的本地启动入口
}

// 配置 server
server {
listen 80;
server_name movie.poetries.top; //指向的域名

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;

proxy_pass http://movie; // 对应上面的目录
proxy_redirect off;
}

// 处理静态资源
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt) {
root /www/movie/public; //静态资源路径
}
}

三、开启防火墙

Ubuntu 的设置

  • 打开 sudo vi /etc/iptables.up.rules
  • 生效 sudo iptables-restore < /etc/iptables.up.rules
# movie
-A INPUT -s 127.0.0.1 -p tcp --destination-port 3001 -m state ESTABLISHED -j ACCEPT

-A OUTPUT -s 127.0.0.1 -p tcp --destination-port 3001 -m state ESTABLISHED -j ACCEPT

四、部署命令

  • pm2 deploy ecosystem.json production setup 初始化
  • pm2 deploy ecosystem.json production 部署

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

烟花肆意

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

linfzu01

文章 0 评论 0

可遇━不可求

文章 0 评论 0

枕梦

文章 0 评论 0

qq_3LFa8Q

文章 0 评论 0

JP

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文