NGINX Unit

Express§

使用 Unit 运行使用 Express Web 框架构建的应用

  1. 使用 unit-dev/unit-devel 包安装 Unit。接下来,安装 Unit 的 unit-http

    # npm install -g --unsafe-perm unit-http
    
  2. 创建您的应用目录,安装 Express,并链接 unit-http

    $ mkdir -p /path/to/app/
    $ cd /path/to/app/
    $ npm install express --save
    # npm link unit-http
    
  3. 创建您的 Express 应用;我们将其存储为 /path/to/app/app.js。首先,初始化目录

    $ cd /path/to/app/
    $ npm init
    

    接下来,添加您的应用程序代码

    #!/usr/bin/env node
    
    const http = require('http')
    const express = require('express')
    const app = express()
    
    app.get('/', (req, res) => res.send('Hello, Express on Unit!'))
    
    http.createServer(app).listen()
    

    该文件应可执行,以便应用程序可以在 Unit 上运行

    $ chmod +x app.js
    
  4. 运行以下命令,以便 Unit 可以访问应用程序目录

    # chown -R unit:unit /path/to/app/
    

    注意

    unit:unit 用户组对仅适用于 官方包、Docker 映像和某些 第三方仓库。否则,帐户名称可能有所不同;运行 ps aux | grep unitd 命令以确保。

    有关更多详细信息,包括权限,请参阅 安全检查清单

  5. 接下来,准备 Unit 的 Express 配置

    {
        "listeners": {
            "*:80": {
                "pass": "applications/express"
            }
        },
    
        "applications": {
            "express": {
                "type": "external",
                "working_directory": "/path/to/app/",
                "executable": "/usr/bin/env",
                "arguments": [
                    "node",
                    "--loader",
                    "unit-http/loader.mjs",
                    "--require",
                    "unit-http/loader",
                    "app.js"
                ]
            }
        }
    }
    
  6. 上传更新后的配置。假设上面的 JSON 已添加到 config.json

    # curl -X PUT --data-binary @config.json --unix-socket \
           /path/to/control.unit.sock http://localhost/config/
    

    注意

    控制套接字 路径可能有所不同;运行 unitd -h 或参见 启动和关闭 了解详情。

    成功更新后,您的应用应可在侦听器的 IP 地址和端口上使用

    Express on Unit - Welcome Screen