NEW Feature — Node.js application hosting is now available on FREAKHOSTING web hosting accounts. You can deploy, manage, and monitor Node.js applications directly from the Web Hosting Control Panel at web.freakhosting.com, alongside your existing websites and domains.
Node.js allows you to run server-side JavaScript applications on your hosting account. Whether you are building an API, a real-time chat application, a custom web app, or a backend service, you can now deploy and manage it all from your control panel without needing a separate server or VPS.
Let’s say you have built a simple Node.js application — maybe a contact form handler that receives form submissions from your website and sends email notifications. Your app has an app.js file, a package.json, and a node_modules folder. Right now it only runs on your local machine. Here is what deploying it to FREAKHOSTING looks like in plain terms:
You upload your app files to a folder on your hosting account.
You tell the control panel which file starts your app (app.js).
You choose a URL path where the app will be reachable (like /contact-api).
You click deploy, and the system starts your app, keeps it running, and makes it accessible to the world.
That is it. No command line, no SSH, no server configuration files. The rest of this guide walks you through each step in detail.
From the dashboard or website list, click on the website where you want to deploy a Node.js application.
3
Open the Advanced Dropdown
In the navigation area for your website, click on the Advanced dropdown to expand additional options.
4
Click Node.js
Select Node.js from the dropdown menu. You will notice it has a green NEW badge, highlighting that this is a recently added feature. This opens the Node.js application manager for your website.
If you have not deployed any Node.js applications yet, you will see an empty state with a server icon, the message No applications defined, and a cyan Deploy app button. This is completely normal and simply means you are ready to deploy your first application.
Once you have uploaded your Node.js application files to your hosting account (via File Manager or FTP), you can deploy it through the control panel.
1
Open the Node.js Manager
Navigate to Advanced dropdown and select Node.js as described above.
2
Click Deploy App
Click the cyan Deploy app button. This opens the application configuration form where you will set up all the details for your Node.js application.
3
Set the Start File
In the Start file field, enter the filename that starts your application. This is the main entry point of your Node.js app, typically something like app.js, server.js, or index.js. This is the file that Node.js will execute when your application starts.
4
Set the Application Path
In the Path field, enter the directory path where your Node.js application files are located on the server. This tells the control panel where to find your application code.
5
Configure Auto-Start
The Auto-start option determines whether your Node.js application starts automatically when the server restarts. Enable this if you want your application to always be running without manual intervention — which you almost certainly do for anything beyond testing.
6
Configure Monitoring
The Monitoring option enables automatic monitoring of your application. When turned on, the system will watch your application and automatically restart it if it crashes or stops unexpectedly. This is your safety net — if your app hits an unexpected error and goes down at 3am, the system will bring it right back up.
7
Set the Web Server Proxy Path
This is where you decide how visitors will reach your Node.js application. The proxy path is the URL path on your domain that will route traffic to your Node.js app.In plain English: Your Node.js app runs on its own internal port that is not directly accessible from the internet. The web server acts as a middleman — when a visitor goes to yourdomain.com/api, the web server intercepts that request and passes it along to your Node.js app behind the scenes. This is called “proxying.” Your visitors never know the difference; they just see a normal URL.For example, setting the proxy path to /api means your application will be available at yourdomain.com/api. Setting it to / makes your Node.js app the primary application for your entire domain. Choose a path that makes sense for your use case.
8
Deploy the Application
Review all of your settings and click the button to deploy. Your Node.js application will be started and made accessible at the configured path.
Make sure your start file exists. If the start file you specified does not exist at the application path, the deployment will fail and your application will not start. Double-check that your application files are uploaded to the correct directory before deploying.
Enable both Auto-start and Monitoring for production applications. Auto-start ensures your app comes back online after server maintenance or restarts, while Monitoring ensures it is automatically restarted if it crashes during normal operation. Together, they keep your application running reliably around the clock — even if something goes wrong at 3am when you are fast asleep.
Once you have deployed one or more Node.js applications, they will appear in a list on the Node.js manager page. From here you can perform several management actions.
Launches your Node.js application if it is currently stopped. Use this after making changes or after manually stopping the app.
Stop
Gracefully shuts down your running Node.js application. Use this when you need to make changes to your code or configuration.
Restart
Stops and immediately restarts your application. This is the quickest way to apply code changes without manually stopping and starting.
1
Open the Node.js Manager
Go to Advanced dropdown and select Node.js.
2
Find Your Application
Locate the application you want to manage in the list of deployed applications.
3
Use the Action Buttons
Click the Start, Stop, or Restart button for the application you want to control. The action takes effect immediately.
After making code changes to your Node.js application, you will need to Restart the application for those changes to take effect. Unlike PHP (which re-reads files on every request), Node.js applications run as persistent processes and do not automatically pick up file changes. Think of it like restarting a desktop app after an update — you need to close and reopen it to get the new version.
Logs are essential for understanding what your Node.js application is doing, diagnosing errors, and troubleshooting issues.
1
Open the Node.js Manager
Navigate to Advanced dropdown and select Node.js.
2
Access Logs for Your Application
Find your application in the list and click on the Logs option. This will display the recent output from your Node.js application, including any messages your app writes to the console and any error messages.
Check your logs first when something goes wrong. If your application is not starting, is crashing, or is behaving unexpectedly, the logs will almost always contain error messages that explain what happened. Common things you will see include missing module errors (meaning you need to run npm install), syntax errors, or port conflict messages. Review the log output before reaching out to support — it will save you time and often points you straight to the fix.
When you first visit the Node.js manager, before deploying any applications, you will see a screen showing a server icon graphic and the message No applications defined. This is not an error. It simply means your account is ready and waiting for you to deploy your first Node.js application.To get started, click the cyan Deploy app button and follow the deployment steps described above.
You can upload your application files using the File Manager in the control panel or by connecting via FTP/SFTP. Upload all of your application files (including package.json and your start file) to the directory you plan to specify as the application path during deployment.
Do I need to run npm install?
The control panel may handle dependency installation automatically depending on your configuration. If your application is not starting because of missing modules, check whether a node_modules folder exists in your application directory. You may need to install dependencies before deploying. Check your application logs for any “Cannot find module” errors — that is a telltale sign.
Can I run multiple Node.js applications on one website?
Yes. You can deploy multiple Node.js applications and proxy each one from a different URL path. For example, one application at /api and another at /dashboard. Each application runs as a separate process with its own start file and configuration.
What happens if my application crashes?
If you have Monitoring enabled, the system will automatically detect the crash and restart your application — usually within seconds. If Monitoring is not enabled, your application will remain stopped until you manually start it again from the Node.js manager. This is why we strongly recommend enabling Monitoring for any production application.
How do I update my application code?
Upload the updated files to your application directory (replacing the old files), then go to the Node.js manager and click Restart on your application. The restart will load the new code. Remember, Node.js apps are persistent processes, so just uploading new files is not enough — you need to restart for changes to take effect.
Can I choose a specific Node.js version?
The available Node.js version options depend on your hosting account configuration. Check the deployment form for any version selection options when deploying your application.
Why is my application showing an error page?
Check the application Logs in the Node.js manager for error messages. Common causes include a missing start file, missing dependencies (run npm install), syntax errors in your code, or the application listening on the wrong port.
What does 'proxied from the web server' mean?
Your Node.js app runs on an internal port that is not directly accessible from the internet. The web server (OpenLiteSpeed) sits in front of it and forwards incoming requests to your app based on the URL path you configured. So when someone visits yourdomain.com/api, the web server grabs that request and passes it to your Node.js app. This is called “reverse proxying” and it means your visitors just use a normal URL — they never need to know about internal ports or how things work behind the scenes.
Ready to launch your website? Use code KB20 at checkout for 20% off your first month!
Last Updated: March 2026 | Web Hosting Support: Node.js application deployment made simple.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FREAKHOSTING","colors":{"primary":"#0D9373"},"favicon":"https://cdn.freakhosting.com/website/favicon.ico","seo":{"metatags":{"og:image":"https://cdn.freakhosting.com/core/assets/heldesk-main.png","og:site_name":"FREAKHOSTING HELPDESK","og:locale":"en_US","twitter:site":"@freakhosting","twitter:card":"summary_large_image","keywords":"game server hosting, FiveM hosting, Minecraft server hosting, CS2 server, Rust server hosting, Palworld server, dedicated game servers, VPS hosting, DDoS protection, game panel, server management, FREAKHOSTING","author":"FREAKHOSTING LTD","robots":"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1","googlebot":"index, follow","bingbot":"index, follow","revisit-after":"3 days","language":"en","distribution":"global","coverage":"Worldwide","category":"Technology","rating":"general","copyright":"Copyright 2018-2026 FREAKHOSTING LTD","reply-to":"support@freakhosting.com","theme-color":"#0D9373","color-scheme":"light dark"},"indexing":"all"},"integrations":{"ga4":{"measurementId":"G-TSY6L544EM"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity",{"title":"Order a Server","description":"Browse our game server hosting plans","icon":"server","href":"https://freakhosting.com"},{"title":"Submit a Ticket","description":"Contact our 24/7 support team","icon":"ticket","href":"https://freakhosting.com/clientarea/submitticket.php"},{"title":"Join Discord","description":"Get community support and updates","icon":"discord","href":"https://discord.gg/freakhosting"}],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"freakhostingltd","hasAudioNarration":false,"actualSubdomain":"freakhostingltd","customDomains":["help.freakhosting.com"],"gitSource":{"type":"github","owner":"freakhosting","repo":"help.freakhosting.com","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad231377414c95fc10fb092","collectionId":"6b5be65a-b342-4db5-b13f-ca5b8ffb5956","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad231377414c95fc10fb092"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ad231377414c95fc10fb092","clientVersion":"0.0.3939","searchFilterCounts":[{"language":"default","tag":"Games","count":444},{"language":"default","tag":"Popular Games","count":124},{"language":"default","tag":"Survival Games","count":120},{"language":"default","tag":"Shooters","count":59},{"language":"default","tag":"Racing \u0026 Simulation","count":47},{"language":"default","tag":"Sandbox \u0026 Building","count":45},{"language":"default","tag":"GTA \u0026 RDR Multiplayer","count":32},{"language":"default","tag":"Firewall Panel","count":30},{"language":"default","tag":"Counter Strike 2","count":28},{"language":"default","tag":"Minecraft","count":28}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"portals/web-panel/how-to-deploy-nodejs-applications","slug":"/portals/web-panel/how-to-deploy-nodejs-applications","pageMetadata":{"title":"How to Deploy Node.js Applications","description":"Learn how to deploy, configure, and manage Node.js applications on your FREAKHOSTING web hosting using the Web Hosting Control Panel.","keywords":["FREAKHOSTING","Node.js","deploy Node.js","web hosting","control panel","Enhance","Node.js hosting","application hosting","server-side JavaScript"],"href":"/portals/web-panel/how-to-deploy-nodejs-applications"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to deploy, configure, and manage Node.js applications on your FREAKHOSTING web hosting using the Web Hosting Control Panel.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Heading,Info,Note,Step,Steps,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`deploying-node-js-applications-on-your-hosting`,children:`Deploying Node.js Applications on Your Hosting`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`NEW Feature`}),` — Node.js application hosting is now available on FREAKHOSTING web hosting accounts. You can deploy, manage, and monitor Node.js applications directly from the Web Hosting Control Panel at `,_jsx(_components.a,{href:`https://web.freakhosting.com`,children:`web.freakhosting.com`}),`, alongside your existing websites and domains.`]})}),`\n`,_jsx(_components.p,{children:`Node.js allows you to run server-side JavaScript applications on your hosting account. Whether you are building an API, a real-time chat application, a custom web app, or a backend service, you can now deploy and manage it all from your control panel without needing a separate server or VPS.`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Difficulty`,icon:`gauge`,children:_jsx(_components.p,{children:`Intermediate`})}),_jsx(Card,{title:`Time`,icon:`clock`,children:_jsx(_components.p,{children:`10 Minutes`})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`a-practical-example`,children:`A Practical Example`}),`\n`,_jsxs(_components.p,{children:[`Let’s say you have built a simple Node.js application — maybe a contact form handler that receives form submissions from your website and sends email notifications. Your app has an `,_jsx(_components.code,{children:`app.js`}),` file, a `,_jsx(_components.code,{children:`package.json`}),`, and a `,_jsx(_components.code,{children:`node_modules`}),` folder. Right now it only runs on your local machine. Here is what deploying it to FREAKHOSTING looks like in plain terms:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`You upload your app files to a folder on your hosting account.`}),`\n`,_jsxs(_components.li,{children:[`You tell the control panel which file starts your app (`,_jsx(_components.code,{children:`app.js`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`You choose a URL path where the app will be reachable (like `,_jsx(_components.code,{children:`/contact-api`}),`).`]}),`\n`,_jsx(_components.li,{children:`You click deploy, and the system starts your app, keeps it running, and makes it accessible to the world.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`That is it. No command line, no SSH, no server configuration files. The rest of this guide walks you through each step in detail.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`accessing-the-node-js-manager`,children:`Accessing the Node.js Manager`}),`\n`,_jsx(_components.p,{children:`The Node.js application manager is located inside the Advanced section of your website’s control panel.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Log In to the Control Panel`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.a,{href:`https://web.freakhosting.com`,children:`web.freakhosting.com`}),` and log in with your FREAKHOSTING credentials.`]})}),_jsx(Step,{title:`Select Your Website`,children:_jsx(_components.p,{children:`From the dashboard or website list, click on the website where you want to deploy a Node.js application.`})}),_jsx(Step,{title:`Open the Advanced Dropdown`,children:_jsxs(_components.p,{children:[`In the navigation area for your website, click on the `,_jsx(_components.strong,{children:`Advanced`}),` dropdown to expand additional options.`]})}),_jsx(Step,{title:`Click Node.js`,children:_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Node.js`}),` from the dropdown menu. You will notice it has a green `,_jsx(_components.strong,{children:`NEW`}),` badge, highlighting that this is a recently added feature. This opens the Node.js application manager for your website.`]})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If you have not deployed any Node.js applications yet, you will see an empty state with a server icon, the message `,_jsx(_components.strong,{children:`No applications defined`}),`, and a cyan `,_jsx(_components.strong,{children:`Deploy app`}),` button. This is completely normal and simply means you are ready to deploy your first application.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`deploying-a-node-js-application`,children:`Deploying a Node.js Application`}),`\n`,_jsx(_components.p,{children:`Once you have uploaded your Node.js application files to your hosting account (via File Manager or FTP), you can deploy it through the control panel.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Node.js Manager`,children:_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Advanced`}),` dropdown and select `,_jsx(_components.strong,{children:`Node.js`}),` as described above.`]})}),_jsx(Step,{title:`Click Deploy App`,children:_jsxs(_components.p,{children:[`Click the cyan `,_jsx(_components.strong,{children:`Deploy app`}),` button. This opens the application configuration form where you will set up all the details for your Node.js application.`]})}),_jsx(Step,{title:`Set the Start File`,children:_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Start file`}),` field, enter the filename that starts your application. This is the main entry point of your Node.js app, typically something like `,_jsx(_components.code,{children:`app.js`}),`, `,_jsx(_components.code,{children:`server.js`}),`, or `,_jsx(_components.code,{children:`index.js`}),`. This is the file that Node.js will execute when your application starts.`]})}),_jsx(Step,{title:`Set the Application Path`,children:_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Path`}),` field, enter the directory path where your Node.js application files are located on the server. This tells the control panel where to find your application code.`]})}),_jsx(Step,{title:`Configure Auto-Start`,children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Auto-start`}),` option determines whether your Node.js application starts automatically when the server restarts. Enable this if you want your application to always be running without manual intervention — which you almost certainly do for anything beyond testing.`]})}),_jsx(Step,{title:`Configure Monitoring`,children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Monitoring`}),` option enables automatic monitoring of your application. When turned on, the system will watch your application and automatically restart it if it crashes or stops unexpectedly. This is your safety net — if your app hits an unexpected error and goes down at 3am, the system will bring it right back up.`]})}),_jsxs(Step,{title:`Set the Web Server Proxy Path`,children:[_jsxs(_components.p,{children:[`This is where you decide how visitors will reach your Node.js application. The `,_jsx(_components.strong,{children:`proxy path`}),` is the URL path on your domain that will route traffic to your Node.js app.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In plain English:`}),` Your Node.js app runs on its own internal port that is not directly accessible from the internet. The web server acts as a middleman — when a visitor goes to `,_jsx(_components.code,{children:`yourdomain.com/api`}),`, the web server intercepts that request and passes it along to your Node.js app behind the scenes. This is called “proxying.” Your visitors never know the difference; they just see a normal URL.`]}),_jsxs(_components.p,{children:[`For example, setting the proxy path to `,_jsx(_components.code,{children:`/api`}),` means your application will be available at `,_jsx(_components.code,{children:`yourdomain.com/api`}),`. Setting it to `,_jsx(_components.code,{children:`/`}),` makes your Node.js app the primary application for your entire domain. Choose a path that makes sense for your use case.`]})]}),_jsx(Step,{title:`Deploy the Application`,children:_jsx(_components.p,{children:`Review all of your settings and click the button to deploy. Your Node.js application will be started and made accessible at the configured path.`})})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Make sure your start file exists.`}),` If the start file you specified does not exist at the application path, the deployment will fail and your application will not start. Double-check that your application files are uploaded to the correct directory before deploying.`]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Enable both Auto-start and Monitoring for production applications.`}),` Auto-start ensures your app comes back online after server maintenance or restarts, while Monitoring ensures it is automatically restarted if it crashes during normal operation. Together, they keep your application running reliably around the clock — even if something goes wrong at 3am when you are fast asleep.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`managing-your-node-js-applications`,children:`Managing Your Node.js Applications`}),`\n`,_jsx(_components.p,{children:`Once you have deployed one or more Node.js applications, they will appear in a list on the Node.js manager page. From here you can perform several management actions.`}),`\n`,_jsx(Heading,{level:`3`,id:`starting-stopping-and-restarting`,children:`Starting, Stopping, and Restarting`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsx(Card,{title:`Start`,icon:`play`,children:_jsx(_components.p,{children:`Launches your Node.js application if it is currently stopped. Use this after making changes or after manually stopping the app.`})}),_jsx(Card,{title:`Stop`,icon:`stop`,children:_jsx(_components.p,{children:`Gracefully shuts down your running Node.js application. Use this when you need to make changes to your code or configuration.`})}),_jsx(Card,{title:`Restart`,icon:`rotate`,children:_jsx(_components.p,{children:`Stops and immediately restarts your application. This is the quickest way to apply code changes without manually stopping and starting.`})})]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Node.js Manager`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Advanced`}),` dropdown and select `,_jsx(_components.strong,{children:`Node.js`}),`.`]})}),_jsx(Step,{title:`Find Your Application`,children:_jsx(_components.p,{children:`Locate the application you want to manage in the list of deployed applications.`})}),_jsx(Step,{title:`Use the Action Buttons`,children:_jsxs(_components.p,{children:[`Click the `,_jsx(_components.strong,{children:`Start`}),`, `,_jsx(_components.strong,{children:`Stop`}),`, or `,_jsx(_components.strong,{children:`Restart`}),` button for the application you want to control. The action takes effect immediately.`]})})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`After making code changes to your Node.js application, you will need to `,_jsx(_components.strong,{children:`Restart`}),` the application for those changes to take effect. Unlike PHP (which re-reads files on every request), Node.js applications run as persistent processes and do not automatically pick up file changes. Think of it like restarting a desktop app after an update — you need to close and reopen it to get the new version.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`viewing-application-logs`,children:`Viewing Application Logs`}),`\n`,_jsx(_components.p,{children:`Logs are essential for understanding what your Node.js application is doing, diagnosing errors, and troubleshooting issues.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Node.js Manager`,children:_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Advanced`}),` dropdown and select `,_jsx(_components.strong,{children:`Node.js`}),`.`]})}),_jsx(Step,{title:`Access Logs for Your Application`,children:_jsxs(_components.p,{children:[`Find your application in the list and click on the `,_jsx(_components.strong,{children:`Logs`}),` option. This will display the recent output from your Node.js application, including any messages your app writes to the console and any error messages.`]})})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Check your logs first when something goes wrong.`}),` If your application is not starting, is crashing, or is behaving unexpectedly, the logs will almost always contain error messages that explain what happened. Common things you will see include missing module errors (meaning you need to run `,_jsx(_components.code,{children:`npm install`}),`), syntax errors, or port conflict messages. Review the log output before reaching out to support — it will save you time and often points you straight to the fix.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`the-empty-state-—-no-applications-defined`,children:`The Empty State — No Applications Defined`}),`\n`,_jsxs(_components.p,{children:[`When you first visit the Node.js manager, before deploying any applications, you will see a screen showing a server icon graphic and the message `,_jsx(_components.strong,{children:`No applications defined`}),`. This is not an error. It simply means your account is ready and waiting for you to deploy your first Node.js application.`]}),`\n`,_jsxs(_components.p,{children:[`To get started, click the cyan `,_jsx(_components.strong,{children:`Deploy app`}),` button and follow the deployment steps described above.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`frequently-asked-questions`,children:`Frequently Asked Questions`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`How do I upload my Node.js application files?`,id:`how-do-i-upload-my-node-js-application-files`,children:_jsxs(_components.p,{children:[`You can upload your application files using the `,_jsx(_components.strong,{children:`File Manager`}),` in the control panel or by connecting via `,_jsx(_components.strong,{children:`FTP/SFTP`}),`. Upload all of your application files (including `,_jsx(_components.code,{children:`package.json`}),` and your start file) to the directory you plan to specify as the application path during deployment.`]})}),_jsx(Accordion,{title:`Do I need to run npm install?`,id:`do-i-need-to-run-npm-install`,children:_jsxs(_components.p,{children:[`The control panel may handle dependency installation automatically depending on your configuration. If your application is not starting because of missing modules, check whether a `,_jsx(_components.code,{children:`node_modules`}),` folder exists in your application directory. You may need to install dependencies before deploying. Check your application logs for any “Cannot find module” errors — that is a telltale sign.`]})}),_jsx(Accordion,{title:`Can I run multiple Node.js applications on one website?`,id:`can-i-run-multiple-node-js-applications-on-one-website`,children:_jsxs(_components.p,{children:[`Yes. You can deploy multiple Node.js applications and proxy each one from a different URL path. For example, one application at `,_jsx(_components.code,{children:`/api`}),` and another at `,_jsx(_components.code,{children:`/dashboard`}),`. Each application runs as a separate process with its own start file and configuration.`]})}),_jsx(Accordion,{title:`What happens if my application crashes?`,id:`what-happens-if-my-application-crashes`,children:_jsxs(_components.p,{children:[`If you have `,_jsx(_components.strong,{children:`Monitoring`}),` enabled, the system will automatically detect the crash and restart your application — usually within seconds. If Monitoring is not enabled, your application will remain stopped until you manually start it again from the Node.js manager. This is why we strongly recommend enabling Monitoring for any production application.`]})}),_jsx(Accordion,{title:`How do I update my application code?`,id:`how-do-i-update-my-application-code`,children:_jsxs(_components.p,{children:[`Upload the updated files to your application directory (replacing the old files), then go to the Node.js manager and click `,_jsx(_components.strong,{children:`Restart`}),` on your application. The restart will load the new code. Remember, Node.js apps are persistent processes, so just uploading new files is not enough — you need to restart for changes to take effect.`]})}),_jsx(Accordion,{title:`Can I choose a specific Node.js version?`,id:`can-i-choose-a-specific-node-js-version`,children:_jsx(_components.p,{children:`The available Node.js version options depend on your hosting account configuration. Check the deployment form for any version selection options when deploying your application.`})}),_jsx(Accordion,{title:`Why is my application showing an error page?`,id:`why-is-my-application-showing-an-error-page`,children:_jsxs(_components.p,{children:[`Check the application `,_jsx(_components.strong,{children:`Logs`}),` in the Node.js manager for error messages. Common causes include a missing start file, missing dependencies (run `,_jsx(_components.code,{children:`npm install`}),`), syntax errors in your code, or the application listening on the wrong port.`]})}),_jsx(Accordion,{title:`What does 'proxied from the web server' mean?`,id:`what-does-proxied-from-the-web-server-mean`,children:_jsxs(_components.p,{children:[`Your Node.js app runs on an internal port that is not directly accessible from the internet. The web server (OpenLiteSpeed) sits in front of it and forwards incoming requests to your app based on the URL path you configured. So when someone visits `,_jsx(_components.code,{children:`yourdomain.com/api`}),`, the web server grabs that request and passes it to your Node.js app. This is called “reverse proxying” and it means your visitors just use a normal URL — they never need to know about internal ports or how things work behind the scenes.`]})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsxs(Note,{children:[_jsx(Heading,{level:`3`,id:`need-extra-help`,children:`Need Extra Help?`}),_jsx(_components.p,{children:`If you encounter any issues, our support team is ready to assist:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Live Chat:`}),` Quick assistance via our website.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Support Ticket:`}),` `,_jsx(_components.a,{href:`https://freakhosting.com/clientarea/submitticket.php`,children:`Open a Ticket`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Discord:`}),` `,_jsx(_components.a,{href:`https://discord.gg/freakhosting`,children:`Join our Community`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Email:`}),` `,_jsx(_components.a,{href:`mailto:support@freakhosting.com`,children:`support@freakhosting.com`})]}),`\n`]})]}),`\n`,_jsxs(Tip,{children:[_jsx(Heading,{level:`3`,id:`save-on-your-hosting`,children:`Save on Your Hosting`}),_jsxs(_components.p,{children:[`Ready to launch your website? Use code `,_jsx(_components.strong,{children:`KB20`}),` at checkout for `,_jsx(_components.strong,{children:`20% off`}),` your first month!`]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(`div`,{align:`center`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Last Updated:`}),` March 2026 | `,_jsx(_components.strong,{children:`Web Hosting Support:`}),` Node.js application deployment made simple.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"How to Deploy Node.js Applications","description":"Learn how to deploy, configure, and manage Node.js applications on your FREAKHOSTING web hosting using the Web Hosting Control Panel.","keywords":["FREAKHOSTING","Node.js","deploy Node.js","web hosting","control panel","Enhance","Node.js hosting","application hosting","server-side JavaScript"],"href":"/portals/web-panel/how-to-deploy-nodejs-applications"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Deploying Node.js Applications on Your Hosting","slug":"deploying-node-js-applications-on-your-hosting","depth":2,"children":[]},{"title":"A Practical Example","slug":"a-practical-example","depth":2,"children":[]},{"title":"Accessing the Node.js Manager","slug":"accessing-the-node-js-manager","depth":2,"children":[]},{"title":"Deploying a Node.js Application","slug":"deploying-a-node-js-application","depth":2,"children":[]},{"title":"Managing Your Node.js Applications","slug":"managing-your-node-js-applications","depth":2,"children":[{"title":"Starting, Stopping, and Restarting","slug":"starting-stopping-and-restarting","depth":3,"children":[]},{"title":"Viewing Application Logs","slug":"viewing-application-logs","depth":3,"children":[]}]},{"title":"The Empty State — No Applications Defined","slug":"the-empty-state-—-no-applications-defined","depth":2,"children":[]},{"title":"Frequently Asked Questions","slug":"frequently-asked-questions","depth":2,"children":[{"title":"Need Extra Help?","slug":"need-extra-help","depth":3,"children":[]},{"title":"Save on Your Hosting","slug":"save-on-your-hosting","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"freakhostingltd","siteName":"FREAKHOSTING","title":"How to Deploy Node.js Applications - FREAKHOSTING","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-25T22:16:05.058Z","originalFileLocation":"portals/web-panel/how-to-deploy-nodejs-applications.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to deploy, configure, and manage Node.js applications on your FREAKHOSTING web hosting using the Web Hosting Control Panel.\">\u003cmeta data-mint-head name=\"keywords\" content=\"game server hosting, FiveM hosting, Minecraft server hosting, CS2 server, Rust server hosting, Palworld server, dedicated game servers, VPS hosting, DDoS protection, game panel, server management, FREAKHOSTING\">\u003cmeta data-mint-head name=\"application-name\" content=\"FREAKHOSTING\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/x-icon\" sizes=\"180x180\" href=\"https://cdn.freakhosting.com/website/favicon.ico\">\u003clink data-mint-head rel=\"icon\" type=\"image/x-icon\" sizes=\"32x32\" href=\"https://cdn.freakhosting.com/website/favicon.ico\">\u003clink data-mint-head rel=\"icon\" type=\"image/x-icon\" sizes=\"16x16\" href=\"https://cdn.freakhosting.com/website/favicon.ico\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://cdn.freakhosting.com/website/favicon.ico\">\u003cmeta data-mint-head property=\"og:title\" content=\"How to Deploy Node.js Applications - FREAKHOSTING\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to deploy, configure, and manage Node.js applications on your FREAKHOSTING web hosting using the Web Hosting Control Panel.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FREAKHOSTING HELPDESK\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cdn.freakhosting.com/core/assets/heldesk-main.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"How to Deploy Node.js Applications - FREAKHOSTING\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to deploy, configure, and manage Node.js applications on your FREAKHOSTING web hosting using the Web Hosting Control Panel.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cdn.freakhosting.com/core/assets/heldesk-main.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/freakhostingltd/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FREAKHOSTING\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"author\" content=\"FREAKHOSTING LTD\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"bingbot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"revisit-after\" content=\"3 days\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003cmeta data-mint-head name=\"distribution\" content=\"global\">\u003cmeta data-mint-head name=\"coverage\" content=\"Worldwide\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003cmeta data-mint-head name=\"rating\" content=\"general\">\u003cmeta data-mint-head name=\"copyright\" content=\"Copyright 2018-2026 FREAKHOSTING LTD\">\u003cmeta data-mint-head name=\"reply-to\" content=\"support@freakhosting.com\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#0D9373\">\u003cmeta data-mint-head name=\"color-scheme\" content=\"light dark\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/portals/web-panel/how-to-deploy-nodejs-applications.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.freakhosting.com/#organization\",\"name\":\"FREAKHOSTING\",\"url\":\"https://help.freakhosting.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://help.freakhosting.com#website\",\"name\":\"FREAKHOSTING\",\"url\":\"https://help.freakhosting.com\",\"publisher\":{\"@id\":\"https://help.freakhosting.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications#webpage\",\"url\":\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications\",\"name\":\"How to Deploy Node.js Applications\",\"description\":\"Learn how to deploy, configure, and manage Node.js applications on your FREAKHOSTING web hosting using the Web Hosting Control Panel.\",\"dateModified\":\"2026-03-25T22:16:05.058Z\",\"isPartOf\":{\"@id\":\"https://help.freakhosting.com#website\"},\"breadcrumb\":{\"@id\":\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Performance \u0026 PHP\",\"item\":\"https://help.freakhosting.com/portals/web-panel/how-to-optimize-website-performance\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Deploy Node.js Applications\",\"item\":\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications#article\",\"headline\":\"How to Deploy Node.js Applications\",\"name\":\"How to Deploy Node.js Applications\",\"description\":\"Learn how to deploy, configure, and manage Node.js applications on your FREAKHOSTING web hosting using the Web Hosting Control Panel.\",\"url\":\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications\",\"mainEntityOfPage\":{\"@id\":\"https://help.freakhosting.com/portals/web-panel/how-to-deploy-nodejs-applications#webpage\"},\"image\":\"https://cdn.freakhosting.com/core/assets/heldesk-main.png\",\"dateModified\":\"2026-03-25T22:16:05.058Z\",\"keywords\":\"FREAKHOSTING, Node.js, deploy Node.js, web hosting, control panel, Enhance, Node.js hosting, application hosting, server-side JavaScript\",\"publisher\":{\"@id\":\"https://help.freakhosting.com/#organization\"},\"isPartOf\":{\"@id\":\"https://help.freakhosting.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FREAKHOSTING\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FREAKHOSTING","nav":{"global":null,"tabs":[{"tab":"Get Started","icon":"rocket","pages":[{"title":"Get Started","href":"/get-started/welcome"}]},{"tab":"Billing Area","icon":"credit-card","pages":[{"title":"Billing Area","href":"/portals/billing/how-to-login-and-access-the-billing-panel"}]},{"tab":"Game Panel","icon":"gamepad","pages":[{"title":"Game Panel","href":"/portals/game-panel/how-to-login-and-access-the-game-panel"}]},{"tab":"VPS Panel","icon":"server","pages":[{"title":"VPS Panel","href":"/portals/vps-panel/how-to-login-and-access-the-vps-control-panel"}]},{"tab":"Web Panel","icon":"globe","groups":[{"group":"Getting Started","pages":[{"title":"Web Hosting Control Panel Overview and Dashboard","href":"/portals/web-panel/web-panel-overview-and-dashboard"},{"title":"How to Install WordPress and Web Applications","href":"/portals/web-panel/how-to-install-wordpress-and-web-apps"}]},{"group":"File Management","pages":[{"title":"How to Use the Web Hosting File Manager","href":"/portals/web-panel/how-to-use-the-file-manager"},{"title":"How to Create and Manage FTP Accounts","href":"/portals/web-panel/how-to-create-and-manage-ftp-accounts"}]},{"group":"Domains \u0026 DNS","pages":[{"title":"How to Manage Domains","href":"/portals/web-panel/how-to-manage-domains-and-dns-records"},{"title":"How to Manage DNS Records and DNSSEC","href":"/portals/web-panel/how-to-manage-dns-records-and-dnssec"},{"title":"How to Configure Email Authentication and Routing","href":"/portals/web-panel/how-to-configure-email-authentication-and-routing"},{"title":"How to Set Up URL Redirects","href":"/portals/web-panel/how-to-setup-url-redirects"}]},{"group":"Databases","pages":[{"title":"How to Manage MySQL Databases","href":"/portals/web-panel/how-to-manage-mysql-databases"}]},{"group":"SSL \u0026 Security","pages":[{"title":"How to Manage SSL Certificates and HTTPS","href":"/portals/web-panel/how-to-manage-ssl-certificates-and-https"},{"title":"How to Install Custom SSL \u0026 Troubleshoot Issues","href":"/portals/web-panel/how-to-install-custom-ssl-and-troubleshoot"}]},{"group":"Email Services","pages":[{"title":"How to Create and Manage Email Accounts","href":"/portals/web-panel/how-to-create-and-manage-email-accounts"},{"title":"How to Configure Email Spam and Forwarding","href":"/portals/web-panel/how-to-configure-email-spam-and-forwarding"},{"title":"How to Set Up Email Clients and Devices","href":"/portals/web-panel/how-to-setup-email-clients-and-devices"}]},{"group":"Performance \u0026 PHP","pages":[{"title":"How to Optimise Website Performance","href":"/portals/web-panel/how-to-optimize-website-performance"},{"title":"How to Change PHP Version","description":"Learn how to view and change your website's PHP version in the FREAKHOSTING Web Hosting Control Panel, including version compatibility and upgrade guidance.","href":"/portals/web-panel/how-to-change-php-version"},{"title":"How to Deploy Node.js Applications","href":"/portals/web-panel/how-to-deploy-nodejs-applications"}]},{"group":"Backups \u0026 Analytics","pages":[{"title":"How to Create and Restore Website Backups","description":"Create manual backups, manage automatic snapshots, upload external files, and restore website or email data using the FREAKHOSTING Web Hosting Panel.","href":"/portals/web-panel/how-to-create-and-restore-backups"},{"title":"Understanding Website Analytics and Bandwidth","href":"/portals/web-panel/understanding-website-analytics-and-bandwidth"}]}]},{"tab":"Firewall Panel","icon":"shield","pages":[{"title":"Firewall Panel","href":"/portals/firewall/firewall-panel-overview"}]},{"tab":"Games","icon":"dice","pages":[{"title":"Games","href":"/games/getting-started"}]},{"tab":"Other","icon":"ellipsis","pages":[{"title":"Other","href":"/portals/other/how-to-connect-to-database-using-heidisql"}]}]},"title":"How to Deploy Node.js Applications - FREAKHOSTING","buildId":"dpl_5UDDZ9hnigTkoV7QtvQ39eUp84nu","deploymentId":"dpl_5UDDZ9hnigTkoV7QtvQ39eUp84nu","dynamics":[],"chunks":[]}