Other How to create a Node.js application with cPanel using the Node.js Selector The Node.js selector allows you to easily set up Node.js applications with the cPanel graphical interface or using the command line. Use whichever method you prefer. Throughout this tutorial these variables are used: app is used for the application root directory and application uri. example is used for the username. example.com is used for the domain. app.js is used for the application startup file. My app is used as the description. 10 or 11 is the node.js major version number. You should change these values to match the values required for your account and application. Method#1: Setting up a Node.js application with the cPanel interface To set up a Node.js application using cPanel, use the following procedures. Step #1: Create the application First, you must create an application. To do this, follow these steps: 1. Log in to cPanel. 2. In the SOFTWARE section of the cPanel home screen, click Setup Node.js App: 4. Fill in the fields on the application setup form: Application mode – choose Development or Production from the list. Development may be chosen initially and changed to production later. Application root – the file system location for application files. The entry will be appended to /home/username to form the complete path to the application files in the cPanel home directory. Typical locations for the application root are /home/username/appname or /home/username/apps/appname. Do not put the application root inside the domain document root. Application URL – the address of the application on the Internet. When you define routes in your application code, you must include the application URL in the route. Application startup file – the initial file that will be processed when launching the application. 5. When the form is complete, click CREATE 6. The application starts automatically. To view a test page for the application, click OPEN: You should see the It Works! message appear. Now that a working application is installed, you can enhance the environment with the package.json settings file and the npm package manager. To do this, follow the next two procedures. Step #2: Create the package.json file To create the package.json file, follow these steps: 1. In the FILES section of cPanel, click the File Manager icon to open the File Manager: 7. Type the following text in the editor screen: { "name": "app", "version": "1.0.0", "description": "My App", "main": "app.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC" } 8. Click Save Changes to save the file: Step #3: Install npm To install npm, follow these steps: 1. In the SOFTWARE section of the cPanel home screen, click Setup Node.js App: 3. Click Run NPM Install: Method #2: Setting up a Node.js application using the command line Users familiar with SSH and the bash shell may find the command line process faster and easier than navigating the cPanel interface. To set up a node.js application from the command line, follow these steps: 1. Log in to your account using SSH. 2. Create the application with the following command: cloudlinux-selector create –json –interpreter nodejs –version 11 –app-root app –domain example.com –app-uri app 3.Change to the application directory: cd ~/app 4. Open the vi editor and create the package.json file: vi package.json 5. Press i to change to insert mode and paste the following text into the editor: { "name": "app", "version": "1.0.0", "description": "My App", "main": "app.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC" } 6. Press escape followed by : to enter command mode. 7. Press x followed by Enter to save and exit the editor. 8. To install npm, type the following command: cloudlinux-selector install-modules --json --interpreter nodejs --user example --app-root app To install packages with npm and do other command-line tasks related to the application, log in using SSH, and then type the following command to enter the virtual environment for the application: source /home/example/nodevenv/app/11/bin/activate && cd /home/example/app 9. To control the running state of the application, do the following: To stop the application, type the following command: cloudlinux-selector stop --json --interpreter nodejs --app-root ~/app To start the application, type the following command: cloudlinux-selector start --json --interpreter nodejs --app-root ~/app To restart (stop and start in one step) the application, type the following command: cloudlinux-selector restart --json --interpreter nodejs --app-root ~/app