loading...

re: PHP vs Node? VIEW POST

FULL DISCUSSION
 

PHP gives an OOBE while Node not (unless we want to generate a really easy hello world).

PHP has Laravel but it is optional. I have not used Laravel in a long while. While for Node, we need something else to do the job. ExpressJS is popular (not unique) but if we compare PHP with NodeJS-Express, we will see that ExpressJS has a lot of code that fits more into the webserver than in a project (after all, Node is the server).

 

I have this problem that remain unsolved until now. There is mod-php in apache to manage php, but I don't know how to handle node serve like mod-php in apache does. do you have any suggestions?
For now I create increment port from 3000 to 300X and then proxied to port 80 to apache, (in my server there's multiple node server running proxied to apache) and i think it's not effective

 

Usually we do a reverse proxy configuration. PHP also allows this kind of configuration.

As Muhammad told you, PM2 is (afaik) the way to go

serverlab.ca/tutorials/development...

But you could do without pm2 too.

Thanks for the response Jorge, i dorecommended pm2 because if the process fails of some error it just restarts it. Hope you'd agree

hello, thank you for make it clear

as you can see here

<VirtualHost *:80>
    ProxyPreserveHost On

    ProxyPass / http://127.0.0.1:3000/
    ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>

it only run one service, my company is SaaS so probably in one vps there will be tens of different project and to run different project with manual port handling will take more time

 

I think for node, i would consider PM2.

Its a process manager for Node

PM2 Process Manager

pm2 start your_app.js -i max

This will auto detect whatever number of CPUs you have and will manage it accordance to it. You can customize but gotto refer the docs.

I think from PHP to node was a hard shift, but not i see not that harder, its like best of both worlds, i suppose.

thank you for explanation, do you have idea for handling port?

I think if you start it with a your.json file, you could kinda hack around like this.

pm2 start your_file.json

your_file.json

{
  "apps": [
    {
      "exec_mode": "fork_mode",
      "script": "path/to/app.js",
      "name": "myfirstapp",
      "env": {
        "PORT": 3000,
        "NODE_ENV": "production"
      },
      "error_file": "path/to/error.log",
      "out_file": "path/to/output.log"
    },
    {
      "exec_mode": "fork_mode",
      "script": "path/to/app.js",
      "name": "mysecondapp",
      "env": {
        "PORT": 3001,
        "NODE_ENV": "production"
      },
      "error_file": "path/to/error.log",
      "out_file": "path/to/output.log"
    }
  ]
}

Let me know, what you find.

oh i see, that was great idea. Thank you!

Code of Conduct Report abuse