Run node.js on cpanel hosting server












7














It is a simple node.js code.



var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type' : 'text/plain'});
res.end('Hello World!');
}).listen(8080);


I uploaded it on cpanel hosting server and installed node.js and run it.
If a server is normal server I can check script result by accessing 'http://{serverip}:8080'. But on cpanel is hosting domain and sub domain and every domain is matched by every sites. Even http://{serverip} is not valid url.
How can I access my node.js result?
Kindly teach me.
Thanks.
bingbing.










share|improve this question






















  • What happens when you access server-ip:8080 in your browser?
    – Bogdan Stoica
    May 22 '17 at 9:26
















7














It is a simple node.js code.



var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type' : 'text/plain'});
res.end('Hello World!');
}).listen(8080);


I uploaded it on cpanel hosting server and installed node.js and run it.
If a server is normal server I can check script result by accessing 'http://{serverip}:8080'. But on cpanel is hosting domain and sub domain and every domain is matched by every sites. Even http://{serverip} is not valid url.
How can I access my node.js result?
Kindly teach me.
Thanks.
bingbing.










share|improve this question






















  • What happens when you access server-ip:8080 in your browser?
    – Bogdan Stoica
    May 22 '17 at 9:26














7












7








7


2





It is a simple node.js code.



var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type' : 'text/plain'});
res.end('Hello World!');
}).listen(8080);


I uploaded it on cpanel hosting server and installed node.js and run it.
If a server is normal server I can check script result by accessing 'http://{serverip}:8080'. But on cpanel is hosting domain and sub domain and every domain is matched by every sites. Even http://{serverip} is not valid url.
How can I access my node.js result?
Kindly teach me.
Thanks.
bingbing.










share|improve this question













It is a simple node.js code.



var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type' : 'text/plain'});
res.end('Hello World!');
}).listen(8080);


I uploaded it on cpanel hosting server and installed node.js and run it.
If a server is normal server I can check script result by accessing 'http://{serverip}:8080'. But on cpanel is hosting domain and sub domain and every domain is matched by every sites. Even http://{serverip} is not valid url.
How can I access my node.js result?
Kindly teach me.
Thanks.
bingbing.







node.js cpanel






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked May 19 '17 at 21:10









bb14816

103119




103119












  • What happens when you access server-ip:8080 in your browser?
    – Bogdan Stoica
    May 22 '17 at 9:26


















  • What happens when you access server-ip:8080 in your browser?
    – Bogdan Stoica
    May 22 '17 at 9:26
















What happens when you access server-ip:8080 in your browser?
– Bogdan Stoica
May 22 '17 at 9:26




What happens when you access server-ip:8080 in your browser?
– Bogdan Stoica
May 22 '17 at 9:26












3 Answers
3






active

oldest

votes


















10














cPanel typically runs Apache or another web server that is shared among all the cPanel/unix accounts. The web server listens on port 80. Depending on the domain name in the requested URL, the web server uses "Virtual Hosting" to figure out which cPanel/unix account should process the request, i.e. in which home directory to find the files to serve and scripts to run. If the URL only contains an IP address, cPanel has to default to one of cPanel accounts.



Ordinarily, without root access, a job run by a cPanel account cannot listen on port 80. Indeed, the available ports might be quite restrictive. If 8080 doesn't work, you might try 60000. To access a running node.js server, you'll need to have the port number it's listening on. Since that is the only job listening on that port on that server, you should be able to point your browser to the domain name of any of the cPanel accounts or even the IP address of the server, adding the port number to the URL. But, it's typical to use the domain name for the cPanel account running the node.js job, e.g. http://cPanelDomainName.com:60000/ .



Of course port 80 is the default for web services, and relatively few users are familiar with optional port numbers in URLs. To make things easier for users, you can use Apache to "reverse proxy" requests on port 80 to the port that the node.js process is listening on. This can be done using Apache's RewriteRule directive in a configuration or .htaccess file. This reverse proxying of requests arguably has other benefits as well, e.g. Apache may be a more secure, reliable and manageable front-end for facing the public Internet.



Unfortunately, this setup for node.js is not endorsed by all web hosting companies. One hosting company that supports it, even on its inexpensive shared hosting offerings, is A2Hosting.com. They also have a clearly written description of the setup process in their Knowledge Base.



Finally, it's worth noting that the developers of cPanel are working on built-in node.js support. "If all of the stars align we might see this land as soon as version 68," i.e. perhaps early 2018.



References



Apache Virtual Hosting -
http://httpd.apache.org/docs/2.4/vhosts/



Apache RewriteRule Directive - http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html



A2Hosting.com Knowledge Base Article on Configuring Node.js - https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed-hosting-accounts



cPanel Feature Request Thread for node.js Support - https://features.cpanel.net/topic/nodejs-hosting



Related StackOverflow Questions



How to host a Node.Js application in shared hosting



Why node.js can't run on shared hosting?






share|improve this answer





























    3














    Install/Setup NodeJS with CPanel



    1. Log in to your account using SSH (it is not enabled for your account
    contact support team).



    2. Download the NodeJS




    wget https://nodejs.org/dist/latest/node-v10.0.0-linux-arm64.tar.xz




    3. Extract the NodeJS Files




    tar xvf node-v10.0.0-linux-arm64.tar.xz




    4. Now rename the folder to nodejs name, to do this type the following
    command




    mv node-v10.0.0-linux nodejs




    5. Now install node and npm binaries, type the next commands:




    mkdir ~/bin
    cp nodejs/bin/node ~/bin
    cd ~/bin
    ln -s
    ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm




    6. Node.js and npm are installed on your account. To verify, type the
    following commands




    node --version
    npm --version




    The ~/bin directory is in your path by default, which means you can run node and npm from any directory in your account.



    7. Start Node.js Application




    nohup node my_app.js &




    8. Stop the Application




    pkill node




    9. Integrating a Node.js application with the web server(optional)



    Depending on the type of Node.js application you are running, you may want to be able to access it using a web browser. To do this, you need to select an unused port for the Node.js application to listen on, and then define server rewrite rules that redirect visitors to the application.



    In a text editor, add the following lines to the .htaccess file in the/home/username/public_html directory, where username represents your account username:



    RewriteEngine On
    RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]


    In both RewriteRule lines, replace XXXXX with the port on which your Node.js application listens.
    To run a Node.js application on a managed server, you must select an unused port, and the port number must be between 49152 and 65535(inclusive).
    Save the changes to the .htaccess file, and then exit the text editor. Visitors to your website are redirected to the Node.js application listening on the specified port.



    If your application fails to start, the port you chose may already be in use. Check the application log for error codes like EADDRINUSE that indicate the port is in use. If it is, select a different port number, update your application’s configuration and the .htaccess file, and then try again.






    share|improve this answer





























      2














      You can use any domain pointed to that cPanel server and instead of accessing http://server-ip:8080 try accessing http://domain.tld:8080. By default cPanel does not bind on port 8080. Be sure to check if there is any firewall on the server. If it is, then allow incoming connections on tcp port 8080. Depending on your WHM server configuration, it should also work with http://server-ip:8080






      share|improve this answer





















      • Thanks Bogdan. So where is ports option in WHM server configuration? I really can't look it in my WHM server options. If you know tell me your example navigation of path please.
        – bb14816
        May 26 '17 at 19:09












      • cPanel has a default firewall (iptables). You can do an iptables -nL to see al the current rules. You can also do an systemctl stop firewalld to completely stop the firewall. If you use CSF for example, the configuration file is /etc/csf/csf.conf. You have the TCP_PORTS = "20,21,80,etc". You can just add 8080 there and do a csf -ra to restart the CSF firewall (if you have CSF installed)
        – Bogdan Stoica
        May 26 '17 at 19:18











      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f44079039%2frun-node-js-on-cpanel-hosting-server%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      10














      cPanel typically runs Apache or another web server that is shared among all the cPanel/unix accounts. The web server listens on port 80. Depending on the domain name in the requested URL, the web server uses "Virtual Hosting" to figure out which cPanel/unix account should process the request, i.e. in which home directory to find the files to serve and scripts to run. If the URL only contains an IP address, cPanel has to default to one of cPanel accounts.



      Ordinarily, without root access, a job run by a cPanel account cannot listen on port 80. Indeed, the available ports might be quite restrictive. If 8080 doesn't work, you might try 60000. To access a running node.js server, you'll need to have the port number it's listening on. Since that is the only job listening on that port on that server, you should be able to point your browser to the domain name of any of the cPanel accounts or even the IP address of the server, adding the port number to the URL. But, it's typical to use the domain name for the cPanel account running the node.js job, e.g. http://cPanelDomainName.com:60000/ .



      Of course port 80 is the default for web services, and relatively few users are familiar with optional port numbers in URLs. To make things easier for users, you can use Apache to "reverse proxy" requests on port 80 to the port that the node.js process is listening on. This can be done using Apache's RewriteRule directive in a configuration or .htaccess file. This reverse proxying of requests arguably has other benefits as well, e.g. Apache may be a more secure, reliable and manageable front-end for facing the public Internet.



      Unfortunately, this setup for node.js is not endorsed by all web hosting companies. One hosting company that supports it, even on its inexpensive shared hosting offerings, is A2Hosting.com. They also have a clearly written description of the setup process in their Knowledge Base.



      Finally, it's worth noting that the developers of cPanel are working on built-in node.js support. "If all of the stars align we might see this land as soon as version 68," i.e. perhaps early 2018.



      References



      Apache Virtual Hosting -
      http://httpd.apache.org/docs/2.4/vhosts/



      Apache RewriteRule Directive - http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html



      A2Hosting.com Knowledge Base Article on Configuring Node.js - https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed-hosting-accounts



      cPanel Feature Request Thread for node.js Support - https://features.cpanel.net/topic/nodejs-hosting



      Related StackOverflow Questions



      How to host a Node.Js application in shared hosting



      Why node.js can't run on shared hosting?






      share|improve this answer


























        10














        cPanel typically runs Apache or another web server that is shared among all the cPanel/unix accounts. The web server listens on port 80. Depending on the domain name in the requested URL, the web server uses "Virtual Hosting" to figure out which cPanel/unix account should process the request, i.e. in which home directory to find the files to serve and scripts to run. If the URL only contains an IP address, cPanel has to default to one of cPanel accounts.



        Ordinarily, without root access, a job run by a cPanel account cannot listen on port 80. Indeed, the available ports might be quite restrictive. If 8080 doesn't work, you might try 60000. To access a running node.js server, you'll need to have the port number it's listening on. Since that is the only job listening on that port on that server, you should be able to point your browser to the domain name of any of the cPanel accounts or even the IP address of the server, adding the port number to the URL. But, it's typical to use the domain name for the cPanel account running the node.js job, e.g. http://cPanelDomainName.com:60000/ .



        Of course port 80 is the default for web services, and relatively few users are familiar with optional port numbers in URLs. To make things easier for users, you can use Apache to "reverse proxy" requests on port 80 to the port that the node.js process is listening on. This can be done using Apache's RewriteRule directive in a configuration or .htaccess file. This reverse proxying of requests arguably has other benefits as well, e.g. Apache may be a more secure, reliable and manageable front-end for facing the public Internet.



        Unfortunately, this setup for node.js is not endorsed by all web hosting companies. One hosting company that supports it, even on its inexpensive shared hosting offerings, is A2Hosting.com. They also have a clearly written description of the setup process in their Knowledge Base.



        Finally, it's worth noting that the developers of cPanel are working on built-in node.js support. "If all of the stars align we might see this land as soon as version 68," i.e. perhaps early 2018.



        References



        Apache Virtual Hosting -
        http://httpd.apache.org/docs/2.4/vhosts/



        Apache RewriteRule Directive - http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html



        A2Hosting.com Knowledge Base Article on Configuring Node.js - https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed-hosting-accounts



        cPanel Feature Request Thread for node.js Support - https://features.cpanel.net/topic/nodejs-hosting



        Related StackOverflow Questions



        How to host a Node.Js application in shared hosting



        Why node.js can't run on shared hosting?






        share|improve this answer
























          10












          10








          10






          cPanel typically runs Apache or another web server that is shared among all the cPanel/unix accounts. The web server listens on port 80. Depending on the domain name in the requested URL, the web server uses "Virtual Hosting" to figure out which cPanel/unix account should process the request, i.e. in which home directory to find the files to serve and scripts to run. If the URL only contains an IP address, cPanel has to default to one of cPanel accounts.



          Ordinarily, without root access, a job run by a cPanel account cannot listen on port 80. Indeed, the available ports might be quite restrictive. If 8080 doesn't work, you might try 60000. To access a running node.js server, you'll need to have the port number it's listening on. Since that is the only job listening on that port on that server, you should be able to point your browser to the domain name of any of the cPanel accounts or even the IP address of the server, adding the port number to the URL. But, it's typical to use the domain name for the cPanel account running the node.js job, e.g. http://cPanelDomainName.com:60000/ .



          Of course port 80 is the default for web services, and relatively few users are familiar with optional port numbers in URLs. To make things easier for users, you can use Apache to "reverse proxy" requests on port 80 to the port that the node.js process is listening on. This can be done using Apache's RewriteRule directive in a configuration or .htaccess file. This reverse proxying of requests arguably has other benefits as well, e.g. Apache may be a more secure, reliable and manageable front-end for facing the public Internet.



          Unfortunately, this setup for node.js is not endorsed by all web hosting companies. One hosting company that supports it, even on its inexpensive shared hosting offerings, is A2Hosting.com. They also have a clearly written description of the setup process in their Knowledge Base.



          Finally, it's worth noting that the developers of cPanel are working on built-in node.js support. "If all of the stars align we might see this land as soon as version 68," i.e. perhaps early 2018.



          References



          Apache Virtual Hosting -
          http://httpd.apache.org/docs/2.4/vhosts/



          Apache RewriteRule Directive - http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html



          A2Hosting.com Knowledge Base Article on Configuring Node.js - https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed-hosting-accounts



          cPanel Feature Request Thread for node.js Support - https://features.cpanel.net/topic/nodejs-hosting



          Related StackOverflow Questions



          How to host a Node.Js application in shared hosting



          Why node.js can't run on shared hosting?






          share|improve this answer












          cPanel typically runs Apache or another web server that is shared among all the cPanel/unix accounts. The web server listens on port 80. Depending on the domain name in the requested URL, the web server uses "Virtual Hosting" to figure out which cPanel/unix account should process the request, i.e. in which home directory to find the files to serve and scripts to run. If the URL only contains an IP address, cPanel has to default to one of cPanel accounts.



          Ordinarily, without root access, a job run by a cPanel account cannot listen on port 80. Indeed, the available ports might be quite restrictive. If 8080 doesn't work, you might try 60000. To access a running node.js server, you'll need to have the port number it's listening on. Since that is the only job listening on that port on that server, you should be able to point your browser to the domain name of any of the cPanel accounts or even the IP address of the server, adding the port number to the URL. But, it's typical to use the domain name for the cPanel account running the node.js job, e.g. http://cPanelDomainName.com:60000/ .



          Of course port 80 is the default for web services, and relatively few users are familiar with optional port numbers in URLs. To make things easier for users, you can use Apache to "reverse proxy" requests on port 80 to the port that the node.js process is listening on. This can be done using Apache's RewriteRule directive in a configuration or .htaccess file. This reverse proxying of requests arguably has other benefits as well, e.g. Apache may be a more secure, reliable and manageable front-end for facing the public Internet.



          Unfortunately, this setup for node.js is not endorsed by all web hosting companies. One hosting company that supports it, even on its inexpensive shared hosting offerings, is A2Hosting.com. They also have a clearly written description of the setup process in their Knowledge Base.



          Finally, it's worth noting that the developers of cPanel are working on built-in node.js support. "If all of the stars align we might see this land as soon as version 68," i.e. perhaps early 2018.



          References



          Apache Virtual Hosting -
          http://httpd.apache.org/docs/2.4/vhosts/



          Apache RewriteRule Directive - http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html



          A2Hosting.com Knowledge Base Article on Configuring Node.js - https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed-hosting-accounts



          cPanel Feature Request Thread for node.js Support - https://features.cpanel.net/topic/nodejs-hosting



          Related StackOverflow Questions



          How to host a Node.Js application in shared hosting



          Why node.js can't run on shared hosting?







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jul 31 '17 at 1:59









          aap

          474612




          474612

























              3














              Install/Setup NodeJS with CPanel



              1. Log in to your account using SSH (it is not enabled for your account
              contact support team).



              2. Download the NodeJS




              wget https://nodejs.org/dist/latest/node-v10.0.0-linux-arm64.tar.xz




              3. Extract the NodeJS Files




              tar xvf node-v10.0.0-linux-arm64.tar.xz




              4. Now rename the folder to nodejs name, to do this type the following
              command




              mv node-v10.0.0-linux nodejs




              5. Now install node and npm binaries, type the next commands:




              mkdir ~/bin
              cp nodejs/bin/node ~/bin
              cd ~/bin
              ln -s
              ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm




              6. Node.js and npm are installed on your account. To verify, type the
              following commands




              node --version
              npm --version




              The ~/bin directory is in your path by default, which means you can run node and npm from any directory in your account.



              7. Start Node.js Application




              nohup node my_app.js &




              8. Stop the Application




              pkill node




              9. Integrating a Node.js application with the web server(optional)



              Depending on the type of Node.js application you are running, you may want to be able to access it using a web browser. To do this, you need to select an unused port for the Node.js application to listen on, and then define server rewrite rules that redirect visitors to the application.



              In a text editor, add the following lines to the .htaccess file in the/home/username/public_html directory, where username represents your account username:



              RewriteEngine On
              RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]


              In both RewriteRule lines, replace XXXXX with the port on which your Node.js application listens.
              To run a Node.js application on a managed server, you must select an unused port, and the port number must be between 49152 and 65535(inclusive).
              Save the changes to the .htaccess file, and then exit the text editor. Visitors to your website are redirected to the Node.js application listening on the specified port.



              If your application fails to start, the port you chose may already be in use. Check the application log for error codes like EADDRINUSE that indicate the port is in use. If it is, select a different port number, update your application’s configuration and the .htaccess file, and then try again.






              share|improve this answer


























                3














                Install/Setup NodeJS with CPanel



                1. Log in to your account using SSH (it is not enabled for your account
                contact support team).



                2. Download the NodeJS




                wget https://nodejs.org/dist/latest/node-v10.0.0-linux-arm64.tar.xz




                3. Extract the NodeJS Files




                tar xvf node-v10.0.0-linux-arm64.tar.xz




                4. Now rename the folder to nodejs name, to do this type the following
                command




                mv node-v10.0.0-linux nodejs




                5. Now install node and npm binaries, type the next commands:




                mkdir ~/bin
                cp nodejs/bin/node ~/bin
                cd ~/bin
                ln -s
                ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm




                6. Node.js and npm are installed on your account. To verify, type the
                following commands




                node --version
                npm --version




                The ~/bin directory is in your path by default, which means you can run node and npm from any directory in your account.



                7. Start Node.js Application




                nohup node my_app.js &




                8. Stop the Application




                pkill node




                9. Integrating a Node.js application with the web server(optional)



                Depending on the type of Node.js application you are running, you may want to be able to access it using a web browser. To do this, you need to select an unused port for the Node.js application to listen on, and then define server rewrite rules that redirect visitors to the application.



                In a text editor, add the following lines to the .htaccess file in the/home/username/public_html directory, where username represents your account username:



                RewriteEngine On
                RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]


                In both RewriteRule lines, replace XXXXX with the port on which your Node.js application listens.
                To run a Node.js application on a managed server, you must select an unused port, and the port number must be between 49152 and 65535(inclusive).
                Save the changes to the .htaccess file, and then exit the text editor. Visitors to your website are redirected to the Node.js application listening on the specified port.



                If your application fails to start, the port you chose may already be in use. Check the application log for error codes like EADDRINUSE that indicate the port is in use. If it is, select a different port number, update your application’s configuration and the .htaccess file, and then try again.






                share|improve this answer
























                  3












                  3








                  3






                  Install/Setup NodeJS with CPanel



                  1. Log in to your account using SSH (it is not enabled for your account
                  contact support team).



                  2. Download the NodeJS




                  wget https://nodejs.org/dist/latest/node-v10.0.0-linux-arm64.tar.xz




                  3. Extract the NodeJS Files




                  tar xvf node-v10.0.0-linux-arm64.tar.xz




                  4. Now rename the folder to nodejs name, to do this type the following
                  command




                  mv node-v10.0.0-linux nodejs




                  5. Now install node and npm binaries, type the next commands:




                  mkdir ~/bin
                  cp nodejs/bin/node ~/bin
                  cd ~/bin
                  ln -s
                  ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm




                  6. Node.js and npm are installed on your account. To verify, type the
                  following commands




                  node --version
                  npm --version




                  The ~/bin directory is in your path by default, which means you can run node and npm from any directory in your account.



                  7. Start Node.js Application




                  nohup node my_app.js &




                  8. Stop the Application




                  pkill node




                  9. Integrating a Node.js application with the web server(optional)



                  Depending on the type of Node.js application you are running, you may want to be able to access it using a web browser. To do this, you need to select an unused port for the Node.js application to listen on, and then define server rewrite rules that redirect visitors to the application.



                  In a text editor, add the following lines to the .htaccess file in the/home/username/public_html directory, where username represents your account username:



                  RewriteEngine On
                  RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
                  RewriteCond %{REQUEST_FILENAME} !-f
                  RewriteCond %{REQUEST_FILENAME} !-d
                  RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]


                  In both RewriteRule lines, replace XXXXX with the port on which your Node.js application listens.
                  To run a Node.js application on a managed server, you must select an unused port, and the port number must be between 49152 and 65535(inclusive).
                  Save the changes to the .htaccess file, and then exit the text editor. Visitors to your website are redirected to the Node.js application listening on the specified port.



                  If your application fails to start, the port you chose may already be in use. Check the application log for error codes like EADDRINUSE that indicate the port is in use. If it is, select a different port number, update your application’s configuration and the .htaccess file, and then try again.






                  share|improve this answer












                  Install/Setup NodeJS with CPanel



                  1. Log in to your account using SSH (it is not enabled for your account
                  contact support team).



                  2. Download the NodeJS




                  wget https://nodejs.org/dist/latest/node-v10.0.0-linux-arm64.tar.xz




                  3. Extract the NodeJS Files




                  tar xvf node-v10.0.0-linux-arm64.tar.xz




                  4. Now rename the folder to nodejs name, to do this type the following
                  command




                  mv node-v10.0.0-linux nodejs




                  5. Now install node and npm binaries, type the next commands:




                  mkdir ~/bin
                  cp nodejs/bin/node ~/bin
                  cd ~/bin
                  ln -s
                  ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm




                  6. Node.js and npm are installed on your account. To verify, type the
                  following commands




                  node --version
                  npm --version




                  The ~/bin directory is in your path by default, which means you can run node and npm from any directory in your account.



                  7. Start Node.js Application




                  nohup node my_app.js &




                  8. Stop the Application




                  pkill node




                  9. Integrating a Node.js application with the web server(optional)



                  Depending on the type of Node.js application you are running, you may want to be able to access it using a web browser. To do this, you need to select an unused port for the Node.js application to listen on, and then define server rewrite rules that redirect visitors to the application.



                  In a text editor, add the following lines to the .htaccess file in the/home/username/public_html directory, where username represents your account username:



                  RewriteEngine On
                  RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
                  RewriteCond %{REQUEST_FILENAME} !-f
                  RewriteCond %{REQUEST_FILENAME} !-d
                  RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]


                  In both RewriteRule lines, replace XXXXX with the port on which your Node.js application listens.
                  To run a Node.js application on a managed server, you must select an unused port, and the port number must be between 49152 and 65535(inclusive).
                  Save the changes to the .htaccess file, and then exit the text editor. Visitors to your website are redirected to the Node.js application listening on the specified port.



                  If your application fails to start, the port you chose may already be in use. Check the application log for error codes like EADDRINUSE that indicate the port is in use. If it is, select a different port number, update your application’s configuration and the .htaccess file, and then try again.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 23 '18 at 15:28









                  Matee Gojra

                  417312




                  417312























                      2














                      You can use any domain pointed to that cPanel server and instead of accessing http://server-ip:8080 try accessing http://domain.tld:8080. By default cPanel does not bind on port 8080. Be sure to check if there is any firewall on the server. If it is, then allow incoming connections on tcp port 8080. Depending on your WHM server configuration, it should also work with http://server-ip:8080






                      share|improve this answer





















                      • Thanks Bogdan. So where is ports option in WHM server configuration? I really can't look it in my WHM server options. If you know tell me your example navigation of path please.
                        – bb14816
                        May 26 '17 at 19:09












                      • cPanel has a default firewall (iptables). You can do an iptables -nL to see al the current rules. You can also do an systemctl stop firewalld to completely stop the firewall. If you use CSF for example, the configuration file is /etc/csf/csf.conf. You have the TCP_PORTS = "20,21,80,etc". You can just add 8080 there and do a csf -ra to restart the CSF firewall (if you have CSF installed)
                        – Bogdan Stoica
                        May 26 '17 at 19:18
















                      2














                      You can use any domain pointed to that cPanel server and instead of accessing http://server-ip:8080 try accessing http://domain.tld:8080. By default cPanel does not bind on port 8080. Be sure to check if there is any firewall on the server. If it is, then allow incoming connections on tcp port 8080. Depending on your WHM server configuration, it should also work with http://server-ip:8080






                      share|improve this answer





















                      • Thanks Bogdan. So where is ports option in WHM server configuration? I really can't look it in my WHM server options. If you know tell me your example navigation of path please.
                        – bb14816
                        May 26 '17 at 19:09












                      • cPanel has a default firewall (iptables). You can do an iptables -nL to see al the current rules. You can also do an systemctl stop firewalld to completely stop the firewall. If you use CSF for example, the configuration file is /etc/csf/csf.conf. You have the TCP_PORTS = "20,21,80,etc". You can just add 8080 there and do a csf -ra to restart the CSF firewall (if you have CSF installed)
                        – Bogdan Stoica
                        May 26 '17 at 19:18














                      2












                      2








                      2






                      You can use any domain pointed to that cPanel server and instead of accessing http://server-ip:8080 try accessing http://domain.tld:8080. By default cPanel does not bind on port 8080. Be sure to check if there is any firewall on the server. If it is, then allow incoming connections on tcp port 8080. Depending on your WHM server configuration, it should also work with http://server-ip:8080






                      share|improve this answer












                      You can use any domain pointed to that cPanel server and instead of accessing http://server-ip:8080 try accessing http://domain.tld:8080. By default cPanel does not bind on port 8080. Be sure to check if there is any firewall on the server. If it is, then allow incoming connections on tcp port 8080. Depending on your WHM server configuration, it should also work with http://server-ip:8080







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered May 22 '17 at 9:25









                      Bogdan Stoica

                      2,32911123




                      2,32911123












                      • Thanks Bogdan. So where is ports option in WHM server configuration? I really can't look it in my WHM server options. If you know tell me your example navigation of path please.
                        – bb14816
                        May 26 '17 at 19:09












                      • cPanel has a default firewall (iptables). You can do an iptables -nL to see al the current rules. You can also do an systemctl stop firewalld to completely stop the firewall. If you use CSF for example, the configuration file is /etc/csf/csf.conf. You have the TCP_PORTS = "20,21,80,etc". You can just add 8080 there and do a csf -ra to restart the CSF firewall (if you have CSF installed)
                        – Bogdan Stoica
                        May 26 '17 at 19:18


















                      • Thanks Bogdan. So where is ports option in WHM server configuration? I really can't look it in my WHM server options. If you know tell me your example navigation of path please.
                        – bb14816
                        May 26 '17 at 19:09












                      • cPanel has a default firewall (iptables). You can do an iptables -nL to see al the current rules. You can also do an systemctl stop firewalld to completely stop the firewall. If you use CSF for example, the configuration file is /etc/csf/csf.conf. You have the TCP_PORTS = "20,21,80,etc". You can just add 8080 there and do a csf -ra to restart the CSF firewall (if you have CSF installed)
                        – Bogdan Stoica
                        May 26 '17 at 19:18
















                      Thanks Bogdan. So where is ports option in WHM server configuration? I really can't look it in my WHM server options. If you know tell me your example navigation of path please.
                      – bb14816
                      May 26 '17 at 19:09






                      Thanks Bogdan. So where is ports option in WHM server configuration? I really can't look it in my WHM server options. If you know tell me your example navigation of path please.
                      – bb14816
                      May 26 '17 at 19:09














                      cPanel has a default firewall (iptables). You can do an iptables -nL to see al the current rules. You can also do an systemctl stop firewalld to completely stop the firewall. If you use CSF for example, the configuration file is /etc/csf/csf.conf. You have the TCP_PORTS = "20,21,80,etc". You can just add 8080 there and do a csf -ra to restart the CSF firewall (if you have CSF installed)
                      – Bogdan Stoica
                      May 26 '17 at 19:18




                      cPanel has a default firewall (iptables). You can do an iptables -nL to see al the current rules. You can also do an systemctl stop firewalld to completely stop the firewall. If you use CSF for example, the configuration file is /etc/csf/csf.conf. You have the TCP_PORTS = "20,21,80,etc". You can just add 8080 there and do a csf -ra to restart the CSF firewall (if you have CSF installed)
                      – Bogdan Stoica
                      May 26 '17 at 19:18


















                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.





                      Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                      Please pay close attention to the following guidance:


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f44079039%2frun-node-js-on-cpanel-hosting-server%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Lallio

                      Futebolista

                      Jornalista