Purchase a Self-Managed VPS with OpenLiteSpeed + Node.js Installation
OpenLiteSpeed is a lightweight web server build for great website performance and low server resource consumption. Along with Node.js, a very popular JavaScript runtime environment, it’s a robust platform for developing and deploying modern web applications, APIs, and real-time services.
So, if you’re building a custom website, deploying an API, or running a web application that requires speed and scalability, OpenLiteSpeed and Node.js offer a fast and reliable hosting solution
Why Use OpenLiteSpeed + Node.js Application?
As websites and applications become more advanced, having a hosting environment that can handle growing traffic and complex functionality is essential. OpenLiteSpeed is known for its high performance and built-in caching features, while Node.js allows developers to create fast, scalable applications using JavaScript.
Together they offer several benefits:
- Fast page loading and app performance.
- Optimization of server resource usage.
- Built in cache features for more speed.
- Modern JavaScript application support.
- Trusted performance for high-traffic websites and apps.
- Reliable performance for high-traffic websites and applications
This combo is great for companies and developers looking for a flexible platform that can do anything from a simple web app to large scale services.
Uses of OpenLiteSpeed + Node.js Application
OpenLiteSpeed and Node.js are commonly used for a variety of web development projects, including:
- Web Applications: Build interactive and dynamic websites using modern JavaScript frameworks and technologies.
- APIs and Backend Services: Create fast and scalable APIs that power websites, mobile apps, and third-party integrations.
- Real-Time Applications: Support features like live chat, instant messaging, notifications, and collaborative tools that require real-time communication.
- E-Commerce Websites: Deliver a responsive shopping experience with fast-loading pages and reliable performance.
- Content Platforms: Host custom content management systems, blogs, and media-driven websites.
- Microservices and Development Projects: Deploy independent services and applications that can scale as your project grows.
How to Purchase a Self-Managed VPS with OpenLiteSpeed + Node.js Application Installation
To deploy and manage OpenLiteSpeed with Node.js, start by purchasing a Bluehost Self-Managed VPS Hosting plan. Follow the steps below:
New to VPS or not sure where to start? No worries! At the top of the Self-Managed VPS purchase page, you’ll see the Pre-configured Setup section. This handy feature is perfect if you’re feeling a bit unsure—just pick the type of project you want, like WordPress Site, AI Agent/Claude Code, Dev/Staging, or eCommerce Store. We’ll take care of the rest by automatically filling in the best plan, operating system, and template for you.
- Super simple for beginners or anyone who just wants a quick setup
- Instantly get the recommended settings for your project
- Skip the guesswork and save time
- You can still customize things later if you want
- In your browser, go to https://www.bluehost.com/vps-hosting.
- Click the Choose Plan button under your preferred VPS hosting plan.

Important: Pricing is subject to change—please visit https://www.bluehost.com/vps-hosting for the current introductory/sign-up offer for Bluehost VPS Hosting. For the most up-to-date renewal pricing, visit your Bluehost Portal Renewal Center.
- Select your preferred Data Center location.

- Hardware
- Pre-selected:
You can select a different Self-Managed VPS plan in this section.
- Configure:
Click Configure to customize your package.Note that your changes help customize your plan, and the overall cost will adjust accordingly to fit your needs.

- Pre-selected:
- Software
- Click on the Application Tab.
- Choose OpenLiteSpeed + Node.js.

- Click Confirm to continue.

- Add-Ons:
- Premium Support:
Provides you with priority access to our expert team, ensuring faster responses and personalized help whenever you need them.
- Premium Support:
- In the Advanced options:

- Extra IP's: You can add extra IP addresses for an additional fee.
Pricing changes based on how many IPs you add. - Hostname: Assign a custom hostname to easily identify your server. This is optional.
- Extra IP's: You can add extra IP addresses for an additional fee.
- Select your preferred billing term and view your Order Summary. Click the Continue to Checkout button to proceed.

- Do the following on the Checkout page:
- Create an Account: To get started, you’ll need to create your Bluehost account. You can do this easily by using your email address or by connecting with your Google, Apple, or GitHub account — whichever you prefer!

- Enter Your Billing Information.

- Create an Account: To get started, you’ll need to create your Bluehost account. You can do this easily by using your email address or by connecting with your Google, Apple, or GitHub account — whichever you prefer!
- In the Shopping Cart section, adjust the terms as needed. Click Submit Payment to complete the purchase.

Access Your OpenLiteSpeed + Node.js Dashboard
After installation completes:
- Log in to your Bluehost Portal.
- In the left-hand menu, click the Hosting tab.

- Look for the server you want to manage then click the View Details to see more options.

- Click the Reset Password.

- In the pop-up window, type your new root password, then click Reset Password again to confirm and save the changes.

- Connect to your VPS via SSH.
Use your VPS IP and credentials with an SSH client, follow the prompts, and enter your root password when asked:ssh root@your_server_ip - Retrieve your password by running this command.
grep OLS_ADMIN_PASS /root/.app_passwords - You will see the password for your dashboard.
Example:root@server-123456:~# grep OLS_ADMIN_PASS /root/.app_passwords OLS_ADMIN_PASS=0pyjA1ItjdBvI05SEP3m34AC - Access your Web UI. Enter the
http://server_IP:7080/in your browser. (Example:http://12.3.456.789:7080/)If the "Your connection isn't private" page appears, click Advanced, then click Proceed to 12.3.456.789 (unsafe) to access the site.
- You will be redirected to your dashboard login page.

- Enter the credentials you got from Steps 6 and 8.
- You will be redirected to your dashboard.

Additional Information and Example Documentation Output
You can run cat /root/README.md to see more information and useful commands:
Example Output:
root@123456:~# cat /root/README.md
# OpenLiteSpeed + Node.js
## Description
OpenLiteSpeed and Node.js is a high-performance web server and runtime combination that helps you deploy fast, scalable server-side JavaScript applications. OpenLiteSpeed handles efficient traffic delivery while Node.js powers real-time, event-driven back-end logic, making this stack ideal for APIs, web apps, and dynamic services that demand speed and concurrency.
## Image contents
* OpenLiteSpeed from the official LiteSpeed repository (`repo.litespeed.sh`)
* Node.js 22 LTS via NodeSource
* Placeholder Node.js application at `/var/www/html/nodejs/app.js`
* OLS virtual host configured to proxy all traffic -> Node.js port 3000
* `nodejs-app` systemd service to manage the Node.js process
* `openlitespeed` systemd service (depends on `nodejs-app`)
* UFW firewall: ports 22, 80, 7080 open
* Log rotation at `/etc/logrotate.d/openlitespeed-nodejs`
* Login banner at `/etc/update-motd.d/99_openlitespeed-nodejs`
* First-boot script at `/var/lib/cloud/scripts/per-instance/001_onboot`
## Services
Service | Port | Description
--------------- | ---- | -----------------------------------------------
OpenLiteSpeed | 80 | HTTP - proxies all traffic to Node.js on 3000
OLS WebAdmin | 7080 | Web-based admin console (HTTP)
nodejs-app | 3000 | Internal - proxied by OLS, not exposed directly
OpenSSH | 22 | Remote access
## First boot behavior
`/var/lib/cloud/scripts/per-instance/001_onboot` runs once on first boot:
1. Generates a 24-character random WebAdmin password.
2. Stores it in `/root/.app_passwords` (mode 600).
3. Sets the password using the official OLS `admpass.sh` tool.
4. Starts `nodejs-app` and waits for port 3000.
5. Starts `openlitespeed`.
No credentials are baked into the image - every instance gets a unique password.
## Accessing the UI
After first boot, open in a browser:
* **Node.js app:** `http://server-ip/`
* **OLS WebAdmin:** `http://server-ip:7080/`
* Username: `admin`
* Password: run `grep OLS_ADMIN_PASS /root/.app_passwords` on the server
## HTTPS / SSL
OpenLiteSpeed includes built-in Let's Encrypt support. To enable HTTPS:
1. Open the OLS WebAdmin console at `http://server-ip:7080/`
2. Navigate to **Listeners** and add an SSL listener on port 443.
3. Under the virtual host, use the built-in **Let's Encrypt** option to
provision a certificate for your domain.
A valid domain name pointing to this server is required for Let's Encrypt.
## Deploying your Node.js application
Replace the placeholder with your own application:
```bash
# Upload your app files to /var/www/html/nodejs/
# Then restart:
systemctl restart nodejs-app
```
Your app must listen on `127.0.0.1:3000`. Use `process.env.PORT || 3000`.
## Useful commands
```bash
# Service status
systemctl status openlitespeed
systemctl status nodejs-app
# Restart services
systemctl restart nodejs-app
systemctl restart openlitespeed
# Logs
tail -100 /usr/local/lsws/logs/error.log
tail -100 /var/log/nodejs/app.log
journalctl -u openlitespeed -n 100 --no-pager
journalctl -u nodejs-app -n 100 --no-pager
# WebAdmin password
grep OLS_ADMIN_PASS /root/.app_passwords
# Reset WebAdmin password manually
/usr/local/lsws/admin/misc/admpass.sh
```
## Validation tests
```bash
perl /root/app_test/main.t
```
Runs 14 checks: services enabled and active, all config and service files
present, Node.js binary available, `admpass.sh` present, port 80 listening,
and end-to-end HTTP proxy response verified.
## Important paths
Path | Description
---- | -----------
`/usr/local/lsws/conf/httpd_config.conf` | OLS main server config
`/usr/local/lsws/conf/vhosts/nodejs/vhconf.conf` | OLS virtual host (proxy)
`/usr/local/lsws/logs/` | OLS server logs
`/usr/local/lsws/admin/conf/htpasswd` | WebAdmin credentials (hashed)
`/usr/local/lsws/admin/misc/admpass.sh` | OLS password reset tool
`/var/www/html/nodejs/app.js` | Node.js application entry point
`/var/log/nodejs/app.log` | Node.js application log
`/var/log/openlitespeed-nodejs/` | OLS service log
`/root/.app_passwords` | Plaintext WebAdmin password (mode 600)
`/etc/openlitespeed/openlitespeed.env` | OLS port/user reference file
## Links
* Manage: [OpenLiteSpeed WebAdmin](http://server-ip:7080/)
**OpenLiteSpeed**
* Home: [openlitespeed.org](https://openlitespeed.org/)
* Documentation: [docs.openlitespeed.org](https://docs.openlitespeed.org/)
* Installation guide: [Install from Repository](https://docs.openlitespeed.org/installation/repo/)
* Node.js app server setup: [App Server - Node.js](https://docs.openlitespeed.org/config/appserver/nodejs/)
* Reverse proxy configuration: [Reverse Proxy](https://docs.openlitespeed.org/config/reverseproxy/)
* Community forum: [forum.openlitespeed.org](https://forum.openlitespeed.org/)
**Node.js**
* Home: [nodejs.org](https://nodejs.org/)
* Node.js 22 LTS docs: [Previous Releases](https://nodejs.org/en/about/previous-releases)
* npm documentation: [docs.npmjs.com](https://docs.npmjs.com/)
* NodeSource distributions: [nodesource/distributions](https://github.com/nodesource/distributions)
Summary
OpenLiteSpeed and Node.js provide a powerful combination for hosting modern websites, web applications, APIs, and real-time services. OpenLiteSpeed delivers excellent performance and resource efficiency, while Node.js enables fast and scalable application development using JavaScript.
With Bluehost Self-Managed VPS Hosting, you get the flexibility and control needed to deploy, manage, and scale your OpenLiteSpeed and Node.js applications in a reliable hosting environment.