参考资料

  1. Kong 是一个开源的云原生 API 网关和微服务管理平台
  2. Elixir 是一种基于 Erlang 虚拟机的函数式编程语言
  3. Convertigo是一个开源的低代码开发平台
  4. InfluxDB是一个开源的时序数据库
  5. MySQL多版本管理允许在同一环境中安装和运行多个MySQL版本
  6. Apache Cassandra 是一个开源的分布式 NoSQL 数据库系统
  7. Ghost 是一个开源的博客平台,专注于专业发布和内容创作
  8. httpd(Apache HTTP Server)是Apache软件基金会开发的开源Web服务器软件

Unit 是一个轻量级、高性能的 Web 应用服务器

详细简介

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 进程对应用目录有读取权限