nodejs:production-mode
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| nodejs:production-mode [2024/04/04 05:37] – created kirtisingh | nodejs:production-mode [2025/04/10 07:01] (current) – kirtisingh | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===How to run/work with production mode for NodeJS Apps=== | ===How to run/work with production mode for NodeJS Apps=== | ||
| + | |||
| + | **Important - Before running your app in production mode, kindly test your app in development mode first. Only after extensive testing, you may then use the production mode.** | ||
| **Step 1 :** Log into N99panel. From under N99panel dashboard, click 'Node Apps' | **Step 1 :** Log into N99panel. From under N99panel dashboard, click 'Node Apps' | ||
| Line 15: | Line 17: | ||
| {{: | {{: | ||
| - | **Important | + | **Important |
| - Select the User/VHost (website)\\ | - Select the User/VHost (website)\\ | ||
| - Enter the ‘App Web path’ . This would be like /app1 or /app2 or it can even be the website root i.e. /\\ | - Enter the ‘App Web path’ . This would be like /app1 or /app2 or it can even be the website root i.e. /\\ | ||
| Line 22: | Line 24: | ||
| - Under the production filesystem path, enter the folder containing the app w.r.t. / | - Under the production filesystem path, enter the folder containing the app w.r.t. / | ||
| - Also finally select the Nodejs version that you wish to use with the App | - Also finally select the Nodejs version that you wish to use with the App | ||
| + | |||
| + | In production mode the Node app runs w.r.t. system path reference. **To put it simply you need to ensure that any file references in your code, are absolute and not relative.** Lets say your Node app start point is / | ||
| With the above steps, you have mapped the web-server' | With the above steps, you have mapped the web-server' | ||
| - | Read further on how to start the App when logged into SSH | + | **If your App is not working as expected, please visit the following |
| - | + | ||
| - | -------------------------------------------------------------- | + | |
| - | + | ||
| - | N99panel comes with multiple NodeJS versions i.e. 10, 12, 14, 16, 18, 20. These versions can be referenced from within SSH using the commands | + | |
| - | < | + | |
| - | node10 | + | |
| - | node12 | + | |
| - | node14 | + | |
| - | node16 | + | |
| - | node18 | + | |
| - | node20 | + | |
| - | </ | + | |
| - | respectively. The npm’s accompanying these versions can be referenced via | + | |
| - | < | + | |
| - | npm10 | + | |
| - | npm12 | + | |
| - | npm14 | + | |
| - | npm16 | + | |
| - | npm18 | + | |
| - | npm20 | + | |
| - | </ | + | |
| - | respectively. The default node command refers to node18. Please refer to this article to change the default version of node CLI - [[:nodejs:cli-version|How to change the default version of node or NodeJS | + | |
| - | + | ||
| - | + | ||
| - | Now to run the App, | + | |
| - | + | ||
| - | Login into the server/VPS via SSH of the user ID under which the VHost/ | + | |
| - | Though you can run the NodeJS App from any folder, but ideally create a new App folder within the node_apps folder. This would help later also when we shift this App to the Production mode. | + | |
| - | + | ||
| - | Now assuming that you created a app folder app1 , now under that folder upload all your source files including package.json . Lets’s say that we wish to user version 16 , to run NPM commands w.r.t. that ideally we will use npm16 . | + | |
| - | + | ||
| - | To run the app, we should first ensure that the NodeJS source file creates the Node server at the ‘App Port’ number as specified earlier. We’ll explain further via example | + | |
| - | Let’s say the user port range is 50051 to 50060 , and the port we entered under ‘App Port’ is 50051 | + | |
| - | Now my app file is say app.js . In my app.js I would need to create the server on port 50051 . | + | |
| - | To now actually run the app, we just need to type | + | |
| - | + | ||
| - | < | + | |
| - | node16 app.js | + | |
| - | </ | + | |
| - | + | ||
| - | Above process would now start the App as a foreground process | + | |
| - | + | ||
| - | To start the App as a background process, do the following | + | |
| - | + | ||
| - | < | + | |
| - | node16 app.js & | + | |
| - | </ | + | |
| - | + | ||
| - | If there are errors, it will simply show the errors and the process would end. And when you fix the errors, you can again try starting the App. | + | |
| - | + | ||
| - | When you believe that you app is running stably and as per your expectations, | + | |
| + | To manage the App process, you can do the same from within Node Apps -> App : Manage App State | ||
nodejs/production-mode.1712209040.txt.gz · Last modified: 2024/04/04 05:37 by kirtisingh
