如何在 Debian 11 上使用 Nginx 安装 Sails.js MVC 框架
在此页
- 先决条件
- 安装开发工具
- 安装 Node.js LTS 和 Yarn 包管理器
- 使用 Yarn 包管理器安装 Sails.js
- 使用 Sails.js 创建第一个项目
- 将 Sails.app 应用程序设置为系统服务
- 将 Nginx 设置为 Sails.js 的反向代理
- 验证您的 Sails.js 应用程序
- 结论
Sails.js 是构建在 Express socket.io 之上的全栈 Node.js 框架。它是一个强大的 MVC 框架,灵感来自 Ruby on Rails,但支持数据驱动的 API 和可扩展的面向服务的架构。 Sails.js 是构建现代和企业级应用程序的合适框架,尤其是数据驱动的应用程序。
Sails.js 提供自动生成的 REST API 和一个名为 Waterline 的强大 ORM,允许开发人员使用任何数据库,如 MySQL、PostgreSQL、MongoDB、Redis 等。
先决条件
在本文中,您将学习如何在 Debian 11 Bullseye 上安装 Sails.js 框架。此外,您还将学习如何使用 Sails.js 创建新项目以及如何将 Nginx 设置为 Sails.js 应用程序的反向代理。
要开始,请确保您满足以下要求。
- 操作系统:Debian 11 Bullseye
- 根权限
现在让我们跳到安装。
安装开发工具
首先,您将在 Debian 系统中安装一些开发工具,例如 build-essentials 和 GCC。
1. 登录到您的服务器并运行下面的 apt 命令来更新存储库。
sudo apt update
2. 接下来,执行以下命令安装开发工具。
sudo apt install curl build-essential gcc g++ make
输入 y 确认安装,然后按 Enter 继续。
安装 Node.js LTS 和 Yarn 包管理器
在安装 Sails.js 之前,您必须将 Node.js 安装到您的 Debian 系统。
在此步骤中,您将使用 nodesource.com 存储库安装 Node.js。您将安装最新的 LTS 版本 Node.js 16.x。
1.执行以下命令添加Node.js仓库。
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
该命令将自动添加 Node.js 存储库并刷新系统上的存储库。
最后,您将看到建议您安装 Yarn 包管理器的输出消息。

2. 使用以下命令添加纱线 GPG 密钥和存储库。
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
3. 接下来,更新您的 Debian 存储库,然后使用以下命令安装 Node.js 和 Yarn 包管理器。
sudo apt update && sudo apt install nodejs yarn
输入 y 确认安装,然后按 Enter 继续。
4. 如果 Node.js 和 yarn 安装完成,请使用以下命令验证 Node.js 版本和 yarn 版本。
node --version
yarn --version
您将看到如下类似的输出。
# nodejs version
v16.13.1
# yarn version
1.22.15
使用 Yarn 包管理器安装 Sails.js
在此步骤中,您将使用 yarn 包管理器安装 Sails.js 最新版本。
1. 执行以下命令在全局或系统范围内安装 Sails.js。
sudo yarn global add sails
此命令会将二进制文件 sails 添加到您的 PATH 目录。
2. 运行下面的 sails 命令来验证版本。
sails --version
在此示例中,我们安装了 Sails.js 版本 1.5。
1.5.0
3. 现在检查 sails 命令的帮助页面,如下所示。
sails --help
以下是 sails 命令的所有可用选项。
Usage: sails [command]
Options:
-v, --version output the version number
-h, --help output usage information
Commands:
version
lift|l [options]
new [options] [path_to_new_app]
generate
upgrade
migrate
console|c [options]
www
debug (for Node v5 and below)
inspect (for Node v6 and above)
run
test
lint
deploy
debug-console|dc
help [command]
现在转到下一步创建一个新的 Sails.js 项目。
使用 Sails.js 创建第一个项目
在此步骤中,您将学习如何使用 Sails.js 启动新项目。出于安全原因,建议使用非根用户启动一个新的 Sails.js 项目。
1. 使用以下命令登录您的用户。
su - username
2. 执行下面的sails 命令来创建一个新的应用程序。在此示例中,我们将创建一个应用程序 testapp。
sails new testapp
为您的应用程序选择模板。
键入数字 1 以选择一个完整的 Web 应用程序模板,其中包括一些基本功能,如身份验证、登录页面等。
键入数字 2 以选择空的和经典的 Sails.js 应用程序。

创建应用程序后,您将看到输出消息,例如 Created a new Sails app \testapp\!。您将在您的主目录中获得一个新目录 testapp。
3. 将您的工作目录更改为 testapp 并使用以下命令运行 Sails.js 应用程序。
cd testapp/
sails lift
现在您将看到类似如下的输出消息。

您的 Sails.js 应用程序正在使用默认端口 1337 在开发 上运行。
4. 打开您的网络浏览器并在地址栏中输入您的 IP 地址和端口 1337。
http://192.168.1.50:1337/
您将看到 Sails.js Web 应用程序的默认索引页面。

现在回到您的终端并按 Ctrl+C 停止 Sails.js 应用程序。
转到下一步,将 Sails.js 应用程序设置为系统服务。
将 Sails.app 应用程序设置为 Systemd 服务
在他的步骤中,您将为 Sails.js 应用程序创建一个新的 systemd 服务文件。
1. 使用 nano 编辑器创建一个新的服务文件 testapp.service。
sudo nano /etc/systemd/system/testapp.service
复制并粘贴以下配置。并确保将 User=johndoe 更改为您的用户,并将 WorkingDirectory=/home/johndoe/testapp 更改为您的项目目录。
[Unit]
After=network.target
[Service]
Type=simple
User=johndoe
WorkingDirectory=/home/johndoe/testapp
ExecStart=/usr/local/bin/sails lift
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存配置并退出。
2. 接下来,使用以下命令重新加载 systemd 管理器以应用新配置。
sudo systemctl daemon-reload
3. 使用以下命令启动您的 Sails.js 应用程序。
sudo systemctl start testapp
使用以下命令验证您的 Sails.js 应用程序服务。
sudo systemctl status testapp
您将看到类似如下的输出消息。

Sails.js 应用程序服务处于活动状态并正在运行。它在默认端口 1337 的默认开发环境中运行。
转到下一步,将 Nginx 设置为您的 Sails.js 应用程序的反向代理。
将 Nginx 设置为 Sails.js 的反向代理
在此步骤中,您将安装和配置 Nginx Web 服务器作为 Sails.js 应用程序的反向代理。
1. 首先,使用下面的 apt 命令安装 Nginx 包。
sudo apt install nginx -y
2. Nginx 安装完成后,使用 nano 编辑器创建一个新的服务器块配置 /etc/nginx/sites-available/testapp。
sudo nano /etc/nginx/sites-available/testapp
使用您的 IP 地址或本地域更改域 dev.example.io。
server {
listen 80;
server_name dev.example.io;
location / {
proxy_pass http://localhost:1337/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
保存配置并退出。
3. 接下来,激活 testapp 服务器块并使用以下命令验证 Nginx 配置。
sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/
sudo nginx -t
如果您的 Nginx 配置没有任何错误,您将看到输出消息,因为语法是正确的。
4. 现在重新启动 Nginx 服务以应用新的服务器块配置。
sudo systemctl restart nginx

5. 最后,您需要允许 www-data 用户访问您的 Sails.js 应用程序。
使用以下命令将您的工作目录更改为 /home/johndoe。在此示例中,我们使用的是用户 johndoe。
cd /home/johndoe/
使用以下命令更改 Sails.js 应用程序目录的所有权和权限。
sudo chown -R johndoe:www-data testapp
sudo chmod -R g+rw testapp
现在您已经完成了 Nginx 的配置,作为 Sails.js 应用程序的反向代理。
验证您的 Sails.js 应用程序
1. 在您的机器上,使用以下命令编辑主机配置。
sudo nano /etc/hosts
复制并粘贴以下配置。确保将 IP 地址和域名更改为您自己的。
192.168.1.50 dev.example.io
保存配置并退出。
2. 接下来,打开您的网络浏览器并键入您的 Sails.js 应用程序的本地域名,如下所示。
http://dev.example.io/
您将看到 Sails.js Web 应用程序的默认索引。

3. 现在点击“注册”按钮,您将进入创建帐户的页面。

键入详细信息新用户和密码,然后单击按钮创建帐户。
4. 登录后,您将看到来自 Sails.js 应用程序的欢迎消息,如下所示。

结论
恭喜!您已经成功学习了如何在 Debian 11 Bullseye 上安装 Sails.js 框架。此外,您还学习了如何创建 Sails.js 应用程序并将 Sails.js 应用程序设置为系统服务。
最后,您了解了如何将 Nginx 设置为 Sails.js 应用程序的反向代理。