参考资料

  1. Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,用于构建高性能
  2. Docker镜像(Image)是什么?
  3. JupyterHub 是一个多用户版本的 Jupyter Notebook
  4. ClefOS 是一款基于开源技术的轻量级 Linux 发行版
  5. Stirling-PDF 是一个开源的 PDF 工具集
  6. XXL-JOB 是一个分布式任务调度平台
  7. Docker的安装与配置
  8. Lsky(兰空图床)是一款开源的图床管理系统

详细简介

Unit 是一个轻量级、高性能的 Web 应用服务器,支持多种编程语言(如 Python、PHP、Go、JavaScript 等)。它由 NGINX 团队开发,专注于动态内容的高效处理。

特点

  1. 多语言支持:原生支持多种后端语言。

  2. 动态配置:无需重启即可更新配置。

  3. 高性能:基于事件驱动架构,低资源占用。

  4. 与 NGINX 集成:可作为独立服务器或与 NGINX 协同工作。

  5. 模块化设计:按需加载功能模块。

最新更新内容及时间

  • 版本 1.31.0(2023年10月)

    • 新增对 Ruby 3.2 的支持

    • 优化 WebSocket 性能

    • 修复内存泄漏问题

镜像下载地址

官网地址

https://unit.nginx.org

文档地址

https://unit.nginx.org/configuration/

Docker 安装示例

docker run -d --name unit \
  -p 8080:80 \
  -v /path/to/config:/usr/local/unit/state \
  nginx/unit:latest

YAML 配置教程

listeners:
  "*:8080":
    pass: "routes"

routes:
  - match: { uri: "/app/*" }
    action:
      pass: "applications/myapp"

applications:
  myapp:
    type: "python"
    module: "wsgi"
    path: "/app"

常见错误及解决

  1. 502 Bad Gateway

    • 检查应用进程是否崩溃

    • 确认语言运行时已安装

  2. 配置验证失败

    • 使用 unitd --check-config 验证配置文件

  3. 端口冲突

    • 通过 netstat -tulnp 检查端口占用

  4. 模块未加载

    • 在配置中显式声明所需模块

  5. 权限问题

    • 确保 Unit 进程对应用目录有读取权限