# How to Install Sails.js Framework with Nginx on Rocky Linux 10

> URL: https://www.atlantic.net/vps-hosting/how-to-install-sails-js-framework-with-nginx-on-rocky-linux-10/ | Published: 2021-11-12 | Updated: 2025-10-20 | Author: Hitesh Jethva

Sails.js is a free, open-source, real-time MVC Framework developed on top of the Node.js environment. It makes it easy to build custom and enterprise-grade Node.js applications. Sails.js uses code generators to build an application with less manual writing of code. You can develop chat applications, real-time dashboards, and multiplayer games using the Salis.js framework.

In this post, we will show you how to install the Salis.js framework with Nginx on Rocky Linux 10.

## Step 1 – Install Node.js

Before starting, you will need to install Node.js to your system. First, install all required dependencies using the following command:

```
dnf update -y
dnf install curl gcc-c++ make -y
```

Next, add the Node source repo using the following command:

```
curl --silent --location https://rpm.nodesource.com/setup_22.x | bash -
```

Next, install Node.js by running the following command:

```
dnf install nodejs -y
```

Once Node.js is installed, you can verify the Node.js version using the following command:

```
node --version
```

You will get the following output:

```
v22.20.0
```

## Step 2 – Install Sails.js

Now, you can use NPM to install Sails.js:

```
npm -g install sails
```

After installing Sails.js, you will need to create a directory for the Sails.js application.

```
mkdir sails
```

Next, change the directory to sails and create a new application using the following command:

```
cd sails
sails new myapp
```

You will be asked to select the template for your application:

```
 Choose a template for your new Sails app:
 1. Web App  ·  Extensible project with auth, login, & password recovery
 2. Empty    ·  An empty Sails app, yours to configure
 (type "?" for help, or <CTRL+C> to cancel)
? 1
```

Type 1 and press the Enter key to create your application:

```
 info: Installing dependencies...
Press CTRL+C to cancel.
(to skip this step in the future, use --fast)
 info: Created a new Sails app `myapp`!
```

## Step 3 – Start Sails.js Application

After creating the Sails.js application, change the directory to your application and start the application using the command below:

```
cd myapp
sails lift
```

You will get the following output:

```
 info: Starting app...

 info: Initializing project hook... (`api/hooks/custom/`)
 info: Initializing `apianalytics` hook...  (requests to monitored routes will be logged!)
 info: ·• Auto-migrating...  (alter)
 info:    Hold tight, this could take a moment.
 info:  ✓ Auto-migration complete.

debug: Running v0 bootstrap script...  (looks like this is the first time the bootstrap has run on this computer)
 info: 
 info:                .-..-.
 info: 
 info:    Sails              <|    .-..-.
 info:    v1.5.0              |\
 info:                       /|.\
 info:                      / || \
 info:                    ,'  |'  \
 info:                 .-'.-==|/_--'
 info:                 `--'-------' 
 info:    __---___--___---___--___---___--___
 info:  ____---___--___---___--___---___--___-__
 info: 
 info: Server lifted in `/root/sails/myapp`
 info: To shut down Sails, press  + C at any time.
 info: Read more at https://sailsjs.com/support.

debug: -------------------------------------------------------
debug: :: Mon Oct 08 2025 09:20:32 GMT+0000 (Coordinated Universal Time)

debug: Environment : development
debug: Port        : 1337
debug: -------------------------------------------------------
```

Press CTRL+C to stop the application.

Find the location of sails binary.

```
which sails
```

Output.

```
/root/.nvm/versions/node/v22.20.0/bin/sails
```

Create a symbolic link of Sails.

```
ln -s /root/.nvm/versions/node/v22.20.0/bin/sails /usr/bin/sails
```

## Step 4 – Create a Systemd Service File for Salis.js

It is a good idea to create a systemd service file to manage the Sails.js application. You can create it using the following command:

```
nano /lib/systemd/system/sails.service
```

Add the following lines:

```
[Unit]
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/sails/myapp
ExecStart=/usr/bin/sails lift
Restart=on-failure

[Install]
WantedBy=multi-user.target
```

Save and close the file, then reload the systemd daemon to apply the changes:

```
systemctl daemon-reload
```

Now, start the Sails.js service and enable it to start at system reboot:

```
systemctl start sails
systemctl enable sails
```

You can also verify the status of the Sails.js service using the following command:

```
systemctl status sails
```

You will get the following output:

```
● sails.service
     Loaded: loaded (/usr/lib/systemd/system/sails.service; disabled; preset: disabled)
     Active: active (running) since Mon 2025-10-20 03:27:56 EDT; 2s ago
 Invocation: 773624460fa744c18bc7898014dcfeb5
   Main PID: 97828 (node)
      Tasks: 22 (limit: 24809)
     Memory: 163.4M (peak: 163.6M)
        CPU: 2.660s
     CGroup: /system.slice/sails.service
             ├─97828 node /usr/bin/sails lift
             └─97835 grunt

Oct 20 03:27:58 rocky sails[97828]:  info:
Oct 20 03:27:58 rocky sails[97828]:  info: Server lifted in `/root/sails/myapp`
Oct 20 03:27:58 rocky sails[97828]:  info: To shut down Sails, press  + C at any time.
Oct 20 03:27:58 rocky sails[97828]:  info: Read more at https://sailsjs.com/support.
Oct 20 03:27:58 rocky sails[97828]: debug: -------------------------------------------------------
Oct 20 03:27:58 rocky sails[97828]: debug: :: Mon Oct 20 2025 03:27:58 GMT-0400 (Eastern Daylight Time)
Oct 20 03:27:58 rocky sails[97828]: debug: Environment : development
Oct 20 03:27:58 rocky sails[97828]: debug: Port        : 1337
Oct 20 03:27:58 rocky sails[97828]: debug: Local       : http://localhost:1337
Oct 20 03:27:58 rocky sails[97828]: debug: -------------------------------------------------------
```

At this point, the Sails.js application is started and listens on port **1337**. You can check it using the following command:

```
ss -antpl | grep 1337
```

You will get the following output:

```
LISTEN 0      128                *:1337            *:*    users:(("node",pid=48672,fd=19))
```

## Step 5 – Configure Nginx as a Reverse Proxy for Sails.js

First, install Nginx with the following command:

```
dnf install nginx
```

Next, create an Nginx virtual host configuration file using the following command:

```
nano /etc/nginx/conf.d/sails.conf
```

Add the following lines:

```
server {
 listen       80;
 server_name  sails.example.com;
   location / {
     proxy_pass        http://localhost:1337/;
     proxy_set_header  Host $host;
     proxy_buffering   off;
   }
 }
```

Save and close the file, then verify Nginx for any syntax error:

```
nginx -t
```

You will get the following output:

```
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```

Finally, restart Nginx to apply the changes:

```
systemctl restart nginx
```

## Step 6 – Access Sails.js

Now, open your web browser and access the Sails.js web interface using the URL **http://sails.example.com**. You should see the Sails.js application on the following screen:
 ![Sails.js dashboard page](https://www.atlantic.net/wp-content/uploads/2021/11/p1-1024x601.png)

## Conclusion

Congratulations! You have successfully installed Sails.js with Nginx on Rocky Linux 10. You can now start developing your first real-time application using the Sails.js framework. Try it out on your [virtual private server](https://www.atlantic.net/vps-hosting/) from Atlantic.Net!
