pm2如何部署远程服务器,使用PM2,如何将node.js应用程序部署到同一服务器上的多个环境和端口?...

我有一个使用PM2部署的节点应用程序的ecosystem.json文件.

我已经尝试过一些不同的方式配置它,但没有运气实现我的目标是:

能够部署到生产环境或登台环境(当前都在同一台服务器上).

当部署到一个时,另一个应该保持运行.

2个不同的环境应该在不同的端口上(prod = 8000,staging = 3000)

无论我首先运行哪个部署命令都会发生什么.

因此,如果我这样做pm2 deploy production,那么pm2 deploy staging只有生产应用程序/端口组合在服务器上运行,反之亦然,如果我切换订单.

编辑:如果我使用下面的conf,将会有2个应用程序运行pm2 status,但如果我这样做netstat,我只看到第一个端口.(centos 6)

我觉得我必须遗漏一些明显的东西.这是我的ecosystem.json文件,我在顶部尝试了多个应用程序声明.

{

/**

* Here we declare the apps that must be managed by PM2

* All options are listed here:

* https://github.com/Unitech/PM2/blob/master/ADVANCED_README.md#json-app-declaration

*

*/

apps : [

{

"name" : "myapp-staging",

"script" : "app.js",

"instances" : "1",

"error_file" : "/var/log/nodejs/myapp.mydomain.com-staging-err.log",

"out_file" : "/var/log/nodejs/myapp.mydomain.com-staging-out.log",

"pid_file" : "/home/node/myapp.mydomain.com-staging.pid",

"exec_mode" : "cluster_mode",

"env_staging" : {

"NODE_ENV": "staging", "PORT": 3000

},

"env_production" : {

"NODE_ENV": "production", "PORT": 8000

}

},

{

"name" : "myapp-production",

"script" : "app.js",

"instances" : "1",

"error_file" : "/var/log/nodejs/myapp.mydomain.com-staging-err.log",

"out_file" : "/var/log/nodejs/myapp.mydomain.com-staging-out.log",

"pid_file" : "/home/node/myapp.mydomain.com-staging.pid",

"exec_mode" : "cluster_mode",

"env_production" : {

"NODE_ENV": "production", "PORT": 8000

}

}

],

/**

* PM2 help you to deploy apps over your servers

* For more help go to :

* https://github.com/Unitech/PM2/blob/master/ADVANCED_README.md#deployment-pm2--090

*/

deploy : {

production : {

user : "node",

host : "node01.mydomain.com",

ref : "origin/master",

repo : "git@bitbucket.org:mydomain/mydomain-myapp.git",

path : "/var/production/myapp.mydomain.com-production/",

"post-deploy" : "npm prune && npm install -l && pm2 startOrGracefulReload ecosystem.json --env production",

env : {

NODE_ENV: "production",

PORT: 8000

}

},

staging : {

user : "node",

host : "node01.mydomain.com",

ref : "origin/master",

repo : "git@bitbucket.org:mydomain/mydomain-myapp.git",

path : "/var/production/myapp.mydomain.com-staging/",

"post-deploy" : "npm prune && npm install -l && pm2 startOrGracefulReload ecosystem.json --env staging",

env : {

NODE_ENV: "staging",

PORT: 3000

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值