Sails.js is a powerful MVC framework for Node.js that makes it easy to build custom, enterprise-grade Node.js applications. In this guide, we will walk you through the installation of the Sails.js framework on Ubuntu 22.04 and configure it to run with Nginx as a reverse proxy. Whether you are deploying it on a local server or using a Windows VPS UK, this tutorial covers all the necessary steps.
Step 1: Update Your System
Before installing Sails.js, ensure your system is up to date. Run the following commands:
sudo apt update && sudo apt upgrade -y
Keeping your system updated is crucial for security and performance, whether you're setting it up locally or on a VPS Windows Servers platform.
Step 2: Install Node.js and npm
Sails.js requires Node.js and npm (Node Package Manager). You can install Node.js by adding the NodeSource repository:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
Verify the installation:
node -v
npm -v
Step 3: Install Sails.js
Install the Sails.js framework globally using npm:
sudo npm install -g sails
Verify the installation of Sails.js:
sails -v
Step 4: Create a New Sails.js Project
Create a new Sails.js project using the following command:
sails new myApp
Navigate into your project directory:
cd myApp
Step 5: Start the Sails.js Application
Start the Sails.js application in development mode:
sails lift
By default, the application runs on port 1337. You can access it at:
http://your_server_ip:1337
Step 6: Install Nginx
To install Nginx, run the following command:
sudo apt install nginx -y
Start and enable Nginx to run at boot:
sudo systemctl start nginx
sudo systemctl enable nginx
Step 7: Configure Nginx as a Reverse Proxy
Create a new Nginx configuration file for your Sails.js application:
sudo nano /etc/nginx/sites-available/myApp
Add the following configuration, replacing your_domain_or_ip
with your actual domain or server IP:
server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://localhost:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Save and exit the file, then create a symlink to enable the configuration:
sudo ln -s /etc/nginx/sites-available/myApp /etc/nginx/sites-enabled/
Step 8: Test Nginx Configuration
Test the Nginx configuration for any syntax errors:
sudo nginx -t
If the configuration is correct, restart Nginx:
sudo systemctl restart nginx