如何在 Ubuntu 22.04 上安装 Sails.js 框架

如何在 Ubuntu 22.04 上安装 Sails.js 框架

Sails 是一个实时 MVC 框架,用于构建生产就绪的企业 Node.js 应用程序。 它是帮助您快速创建网站和原型网站的绝佳工具。 它构建在 Node JS 和 Express JS 之上,因此所有适用于 NodeJS 和 Express 的内容都可以与 Sails JS 一起使用。 它支持可扩展的 WebSockets、面向服务的架构以及同一项目中的多个数据存储,并提供基本的安全性和基于角色的访问控制。

这篇文章将向您展示如何在 Ubuntu 22.04 上使用 Apache 安装 Sails.js 作为反向代理。

先决条件

  • 运行 Ubuntu 22.04 的服务器。
  • 服务器上配置了 root 密码。

入门

在开始之前,建议将您的软件包更新到最新版本。 您可以通过运行以下命令来更新所有这些:

apt update -y
apt upgrade -y

更新所有软件包后,使用以下命令安装其他所需的依赖项:

apt-get install curl wget gnupg2 -y

完成后,您可以继续下一步。

安装 Node.js

接下来,您需要安装 Node.js 和 NPM 来创建 Sails.js 应用程序。 首先,使用以下命令添加 Node.js 存储库:

curl -sL https://deb.nodesource.com/setup_16.x | bash -

添加存储库后,使用以下命令安装 Node.js 包:

apt-get install nodejs -y

安装完成后,您可以使用以下命令验证 Node.js 版本:

node --version

您将在以下输出中获得 Node.js 版本:

v16.17.1

安装 Sails.js

接下来,您需要在服务器上安装 Sails.js。 您可以使用节点包管理器安装 Sails。

npm -g install sails

安装 Sails 后,您可以使用以下命令验证它:

sails --version

您将在以下输出中获得 Sails 版本:

1.5.3

创建 Sails.js 应用程序

安装 Sails 后,让我们使用以下命令创建一个简单的 Sails 应用程序:

sails new sails-app

您应该得到以下输出:

 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  to cancel)
? 2
 info: Installing dependencies...
Press CTRL+C to cancel.
(to skip this step in the future, use --fast)
 info: Created a new Sails app `sails-app`!

您可以使用以下命令验证 Sails 创建的所有文件:

ls sails-app

您应该看到以下输出:

api  app.js  assets  config  Gruntfile.js  node_modules  package.json  package-lock.json  README.md  tasks  views

接下来,将目录更改为 Sails 应用程序并使用以下命令启动应用程序:

cd sails-app
sails lift

您应该看到以下输出:

 info: Starting app...

 info: 
 info:                .-..-.
 info: 
 info:    Sails              <|    .-..-.
 info:    v1.5.3              |\
 info:                       /|.\
 info:                      / || \
 info:                    ,'  |'  \
 info:                 .-'.-==|/_--'
 info:                 `--'-------' 
 info:    __---___--___---___--___---___--___
 info:  ____---___--___---___--___---___--___-__
 info: 
 info: Server lifted in `/root/sails-app`
 info: To shut down Sails, press  + C at any time.
 info: Read more at https://sailsjs.com/support.

debug: -------------------------------------------------------
debug: :: Sun Sep 25 2022 05:43:59 GMT+0000 (Coordinated Universal Time)

debug: Environment : development
debug: Port        : 1337
debug: -------------------------------------------------------

按 CTRL+C 停止应用程序。 我们将创建一个 systemd 服务文件来启动和管理 Sails 应用程序。

为 Sails.js 创建 Systemd 服务文件

接下来,您需要创建一个 systemd 服务文件来管理 Sails.js 应用程序。 您可以使用以下命令创建它:

nano /etc/systemd/system/sails-app.service

添加以下行:

[Unit]
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/sails-app
ExecStart=/usr/bin/sails lift
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存并关闭文件,然后重新加载 systemd 守护进程以应用更改:

systemctl daemon-reload

接下来,启动 Sails.js 服务并使其在系统重新启动时启动:

systemctl start sails-app
systemctl enable sails-app

您现在可以使用以下命令检查 Sails 应用程序的状态:

systemctl status sails-app

您应该得到以下输出:

? sails-app.service
     Loaded: loaded (/etc/systemd/system/sails-app.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-09-25 05:44:42 UTC; 6s ago
   Main PID: 2896 (node)
      Tasks: 22 (limit: 4579)
     Memory: 159.2M
        CPU: 3.676s
     CGroup: /system.slice/sails-app.service
             ??2896 node /usr/bin/sails lift
             ??2903 grunt "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">

Sep 25 05:44:44 ubuntu2204 sails[2896]:  info:  ____---___--___---___--___---___--___-__
Sep 25 05:44:44 ubuntu2204 sails[2896]:  info:
Sep 25 05:44:44 ubuntu2204 sails[2896]:  info: Server lifted in `/root/sails-app`
Sep 25 05:44:44 ubuntu2204 sails[2896]:  info: To shut down Sails, press  + C at any time.
Sep 25 05:44:44 ubuntu2204 sails[2896]:  info: Read more at https://sailsjs.com/support.
Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: -------------------------------------------------------
Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: :: Sun Sep 25 2022 05:44:44 GMT+0000 (Coordinated Universal Time)
Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: Environment : development
Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: Port        : 1337
Sep 25 05:44:44 ubuntu2204 sails[2896]: debug: -------------------------------------------------------

此时,Sails 应用程序已启动并侦听端口 1337。您现在可以继续下一步。

将 Apache 配置为 Sails.js 的反向代理

将 Apache 配置为反向代理来访问 Sails 应用程序是一个好主意。 首先,使用以下命令安装 Apache 服务器:

apt install apache2 -y

安装 Apache 软件包后,使用以下命令创建 Apache 虚拟主机配置文件:

nano /etc/apache2/sites-available/sails.conf

添加以下行:

    ServerName sailsapp.example.com

    ServerAdmin [email protected]
    DocumentRoot /root/sails-app

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    
            ProxyPass   http://127.0.0.1:1337
            ProxyPassReverse   http://127.0.0.1:1337
    

    
            ProxyPass !
    

    RewriteEngine On
    RewriteCond %{REQUEST_URI}  ^/socket.io            [NC]
    RewriteCond %{QUERY_STRING} transport=websocket    [NC]
    RewriteRule /(.*)           ws://localhost:1337/$1 [P,L]

保存并关闭文件,然后使用以下命令激活 Sails 虚拟主机:

a2ensite sails.conf

接下来,使用以下命令启用其他 Apache 模块:

a2enmod headers proxy_http xml2enc proxy ssl proxy_wstunnel rewrite proxy_ajp deflate proxy_balancer proxy_connect proxy_html

接下来,重新启动 Apache 服务以应用更改:

systemctl restart apache2

您现在可以使用以下命令验证 Apache 服务状态:

systemctl status apache2

您应该得到以下输出:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-09-25 05:46:54 UTC; 2s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 3986 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 3990 (apache2)
      Tasks: 55 (limit: 4579)
     Memory: 6.8M
        CPU: 90ms
     CGroup: /system.slice/apache2.service
             ??3990 /usr/sbin/apache2 -k start
             ??3991 /usr/sbin/apache2 -k start
             ??3992 /usr/sbin/apache2 -k start

Sep 25 05:46:54 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...

目前,Apache Web 服务器已安装并配置为 Sails.js 应用程序的反向代理。 您现在可以继续下一步。

访问 Sails.js Web UI

现在,您可以打开 Web 浏览器并使用 URL http://sailsapp.example.com 访问 Sails.js Web 界面。 您应该在以下屏幕上看到 Sails.js Web UI:

结论

恭喜 您已在 Ubuntu 22.04 上成功安装了 Sails.js,并使用 Apache 作为反向代理。 您现在可以使用 Sails.js 框架托管可扩展且可用于生产的 Web 应用程序。 如果您有任何疑问,请随时问我。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载

资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载

上一篇 2024年 5月 31日
下一篇 2024年 5月 31日

相关推荐