How do I set up a Node.js application in cPanel?
The versatility of Node.js: A look at the flexible integration with cPanel
Node.js application in cPanel: Node.js acts as a dynamic open source JavaScript runtime environment that not only compiles and executes the code on the web hosting server, but also conserves the client computer's resources by minimizing the execution of JavaScript. This innovative approach means that the content of a web page is dynamically prepared before it is sent to the client's web browser.
In order to keep up with the demands of constantly evolving technology, Node.js undergoes a continuous evolution with regular updates and new features. This leads to a short lifespan of Node.js versions, which are split into different branches to meet different requirements.
The challenge for developers is to select and support the right Node.js version for their application. This is where the flexibility of cPanel Cloud SSD Shared Hosting comes into play. With our hosting packages, you have the freedom to choose and set up the right Node.js branch for your project.
In this tutorial we will show you step by step how to use the "Node.js" feature of cPanel to create the optimal environment for your Node.js project to maximize performance and compatibility.
Access to the function: Setup Node.js App in cPanel
As soon as you are in your cPanel accountthe user-friendly interface of cPanel provides you with a comprehensive list of all available functions, which are clearly organized into different function groups. To access the "Set up Node.js app" function, you can either use the search tool provided at the top of the page or search for it in the "Software" function group, as it is included there.
Clicking on this function redirects you to a new page that acts as the default page for the Node.js function in cPanel.
Creating a new Node.js application
To create a fresh Node.js application, simply click on the button "CREATE APPLICATION"which is located in the top right-hand corner of the standard page for the Node.js function. You will then be redirected to a new page where you can configure the settings for your new Node.js application. Here's what you can expect:
- Node.js version - Select the desired Node.js version on which your project should be based.
- Application mode - Here you can choose between the "Development" and "Production" modes. Please note that this setting sets the environment variable "NODE_ENV" accordingly.
- Application master directory - Specify the absolute path to the folder where your application files will be stored. Remember that this is not a relative path and the home folder of your account (/home/) must be used as a prefix.
- Application URL - Define the URL via which your Node.js application is to be accessed.
- Application start file - Specify the start file for your application. This is usually either app.js or index.js.
- Passenger log file - Specify the log file for your Node.js application.
At the end of the list, you will find a separate section called "Environment variables". Here you can define new environment variables or edit existing ones that only apply to this specific application.
Once you have completed the configuration, please click on the "CREATE" button located in the top right corner of the page. This will create your Node.js application with the specific Node.js version you have selected. Once the process is complete, cPanel will provide you with a message telling you how to access the virtual environment for this Node.js application.
But what exactly is a virtual environment and why is it important to access it?
Each cPanel web hosting account exists as an independent unit on the web hosting server. This means that each account has access to shared services such as SSH, MySQL, email, etc. However, the binary for Node.js, called "node", is globally available and can only support a single Node.js version - the one that is globally installed on the server.
However, to enable support for multiple Node.js versions, cPanel uses virtual environments. These represent an encapsulation method at application level. A new virtual environment is created for each Node.js application created. Within these environments, cPanel provides separate "node" binary versions so that each application can use the desired Node.js version. You can also define individual environment variables in each virtual environment.
Access to the binaries of the web hosting server is usually done via the SSH protocol. Accessing the virtual environment is no different - you still need to log in via SSH and additionally execute a specific command to access the virtual environment of your Node.js application. This command varies for each application and can be accessed via the application screen in the "Set up Node.js app" function of cPanel.
Copying/pasting this command takes you to the virtual environment for the selected Node.js application. Within the environment, all node commands that you execute are processed by the selected binary version of the node.
In addition to the simple tasks of checking the node version and running your Node.js application, you can also use npm to manage your application's dependencies if you have included a package.json file in the application. You can also define various environment variables that are only available to the application that uses this virtual environment.
Manage your Node.js applications
Now that you know how to create your Node.js applications, let's take a look at what management actions you can perform with them. If you return to the default page for the "Set up Node.js app" function, you will find a list of all the Node.js applications currently created. The following information is displayed for each of these applications:
- App URI: The URI via which the application can be accessed.
- App root directory: The directory in which the application is saved.
- Mode: The mode in which the application is executed.
- Status: The current status of the application.
- Actions: The management actions you can perform for each of the applications.
These actions include:
- Stopping the application
- Restarting the application
- Editing the application
- Delete the application
If you click on the "App URI", cPanel will forward you directly to the front end of your application so that you can get a preview in the web browser.
Another important area for managing your application is the "Edit" link, which is represented by a pencil-like icon. Clicking on it takes you to a new page where you can make various configuration changes for the selected application.
On this new page you will see three buttons at the top:
- "DESTROY": You can use this button to completely delete the application and its configuration.
- "CANCEL": Click here to return to the default page for the "Set up Node.js app" function, where all your Node.js applications are listed.
- "SAVE": If you have made changes to the configuration, you can save them here.
Directly below these buttons you will find the command to access the virtual environment of this particular Node.js application. Below this are the "STOP APP" and "RESTART" buttons, which you can use to stop or restart the application if required.
Further down the page, you will see the default configurations for the application that you specified when creating it. Below this is the "Recognized configuration files" section, in which you can execute the "npm install" command, for example, if the package.json file is saved in the root folder of the application.
Finally, you will find the "Environment variables" section on this page, where you can add, edit or remove environment variables.
To manage your Node.js applications effectively, it is important to understand how the "Set up Node.js app" function works. If you have any questions or problems with this function, our technical support will be happy to help you further.