Spring Fresh Sale! - Up To 67% OFF BDIX Hosting + Free Domain
Node.js

How to Deploy an Express.js App on Webuzo

Deploying an Express app on Webuzo means uploading your code, running it under PM2 so it stays alive, and pointing OpenLiteSpeed at it as a reverse proxy. Because Webuzo gives you SSH and PM2, this is closer to a proper VPS deployment than shared hosting allows.

Step 1: Prepare your Express app

Have your app listen on a local port, ideally from an environment variable so it is configurable:

const port = process.env.PORT || 3000;
app.listen(port);

Step 2: Upload and install

Upload your project (without node_modules) via the file manager, SFTP, or Git over SSH, then install dependencies with npm install. Install the right Node version first.

Step 3: Run it under PM2

Start the app with PM2 so it runs in the background and restarts on crashes or reboots:

pm2 start app.js --name myapp

See keeping Node.js running on Webuzo with PM2 for boot persistence.

Step 4: Reverse proxy through OpenLiteSpeed

Configure OpenLiteSpeed to forward requests from your domain to your app's local port — see running Node.js behind OpenLiteSpeed. Now visitors reach your Express app on your domain.

Step 5: Add SSL

Enable a free certificate so the app is served over HTTPS — see enabling SSL on Webuzo.

Frequently asked questions

Do I use process.env.PORT on Webuzo like on cPanel?

It is good practice, but on Webuzo you control the port your app listens on and point the reverse proxy at it — you are not constrained by a managed Passenger. Just keep the app's port and the proxy target in sync.

Why run Express under PM2?

PM2 keeps the app running after you disconnect from SSH, restarts it if it crashes, and can relaunch it on server reboot. Without it, the app stops when your SSH session ends.

My app runs but the domain shows an error.

Check the reverse-proxy configuration — the proxy must point at the exact local port your app listens on. A mismatch there is the usual cause of a working app that is unreachable on the domain.

Was this article helpful?