Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible to run multiple instances of same app on different ports #322

Closed
waygee opened this issue Feb 24, 2014 · 4 comments
Closed

Possible to run multiple instances of same app on different ports #322

waygee opened this issue Feb 24, 2014 · 4 comments

Comments

@waygee
Copy link

@waygee waygee commented Feb 24, 2014

Hi,

I wanted to inquire whether it's possible to run my app.js multiple clusters like so:

app.js Cluster1 port 80
….
app.js Cluster2 port 81
….
app.js Cluster 3 port 82
….
app.js Cluster 4 port 83

My hosting provider, Rackspace, has advised me to try to set up this way.

Is this possible to do this under pm2 and have my app.js be running multiple clusters under different ports?

Thanks in advance for your help.

@soyuka
Copy link
Collaborator

@soyuka soyuka commented Jun 13, 2014

You could clone your app 4 times... I think there are better solutions as load-balancing for those kind of things but pm2 can't handle this without some heavy mods.

@rlidwka
Copy link
Collaborator

@rlidwka rlidwka commented Jun 22, 2014

NODE_PORT=80 pm2 start app.js -f
NODE_PORT=81 pm2 start app.js -f
NODE_PORT=82 pm2 start app.js -f
NODE_PORT=83 pm2 start app.js -f

... where NODE_PORT is an arbitrary name that you add as .listen(process.env.NODE_PORT) into your program.

(-f flag is necessary to force re-execution, since pm2 will complain otherwise)

soyuka added a commit that referenced this issue Jun 22, 2014
@aagam29
Copy link

@aagam29 aagam29 commented Jun 14, 2019

What is the benefit of doing so ? @waygee
Deploying the same application on multiple ports and then attaching a proxy say nginx will help you serve requests better ?

@alikarimii
Copy link

@alikarimii alikarimii commented Feb 14, 2020

https://pm2.keymetrics.io/docs/usage/environment/

module.exports = { apps : [ { name: "myapp", script: "./app.js", instances: 2, exec_mode: "cluster", watch: true, increment_var : 'PORT', env: { "PORT": 3000, "NODE_ENV": "development" } } ] }
Use increment_var as in example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.