
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ossobv/uwsgi-php 是一个基于 uWSGI 和 PHP 的运行环境镜像,用于部署 PHP 应用程序。该镜像通过不同标签支持 PHP 5.x 和 7.x 版本,提供灵活的 uWSGI 配置能力,可自定义端口绑定、权限管理、静态文件处理及 PHP 环境参数。
| 标签 | 说明 | Dockerfile 链接 |
|---|---|---|
7, 7.2, latest | PHP 7.x 版本(默认) | uwsgi-php/Dockerfile |
5, 5.5 | PHP 5.x 版本 | uwsgi-php/Dockerfile |
www-data 用户/组运行应用,支持权限降级,提升安全性。适用于需要自定义 uWSGI 配置的 PHP 应用部署,包括但不限于:
通过以下 Dockerfile 可基于该镜像构建自定义 PHP 应用镜像:
dockerfileFROM ossobv/uwsgi-php # 安装构建依赖(按需添加,完成后自动清理) RUN buildDeps=' \ # 在此添加构建依赖,例如:gcc libc6-dev \ ' \ && apt-get update \ && apt-get install -y \ $buildDeps \ --no-install-recommends \ && rm -rf /var/lib/apt/lists/* \ && apt-get purge --auto-remove $buildDeps # 设置工作目录 WORKDIR /app # 暴露应用端口(需与 uwsgi.ini 中配置的端口一致) EXPOSE 8080
默认 CMD 依赖 /etc/uwsgi/uwsgi.ini 配置文件,需手动提供。以下是典型配置示例及说明:
ini[uwsgi] ; 加载必要插件,默认加载 PHP 插件(作为 0 号修饰符) plugins = http,0:php ; 绑定 HTTP 路由至端口(默认使用环境变量 LISTEN,未设置时需指定具体端口) http = :$(LISTEN) ; 保持 master 进程以 root 身份运行(允许绑定 80 等特权端口) master = true master-as-root = true ; 权限降级:运行应用的用户/组 uid = www-data gid = www-data ; 应用目录配置 project_dir = /code ; 应用根目录 chdir = %(project_dir) ; 切换至应用目录 check-static = %(project_dir) ; 检查静态文件 static-skip-ext = .php ; 跳过 .php 扩展名的静态文件检查 static-skip-ext = .inc ; 跳过 .inc 扩展名的静态文件检查 static-index = index.html ; 目录请求时查找 index.html ; PHP 环境配置 php-docroot = %(project_dir) ; PHP 文档根目录 php-allowed-ext = .php ; 允许解析的 PHP 扩展名 php-allowed-ext = .inc ; 允许解析的 PHP 扩展名 php-index = index.php ; 目录请求时查找 index.php php-index = index.inc ; 目录请求时查找 index.inc php-set = date.timezone=Europe/Amsterdam ; 设置 PHP 时区 php-set = upload_max_filesize = 5M ; 设置上传文件大小限制 php-set = post_max_size = 5M ; 设置 POST 数据大小限制 php-sapi-name = apache ; 模拟 Apache SAPI 环境(解决部分框架兼容性问题) ; 进程管理 processes = 17 ; 最大进程数 cheaper = 2 ; 初始进程数(按需动态扩容)
关键配置项说明
| 配置项 | 作用 |
|---|---|
plugins = http,0:php | 加载 HTTP 路由插件和 PHP 插件(0:php 表示将 PHP 作为默认修饰符) |
http = :$(LISTEN) | 绑定 HTTP 服务端口,LISTEN 为环境变量(默认建议设为 8080) |
master-as-root = true | 允许 master 进程以 root 身份运行(用于绑定特权端口,如 80) |
uid/gid = www-data | 应用进程以 www-data 用户/组运行(降低权限,提升安全性) |
check-static | 启用静态文件检查,优先返回静态文件(如 .html、.css 等) |
php-set | 自定义 PHP 配置参数(如时区、上传限制等) |
processes/cheaper | 控制进程数量(最大进程数/初始进程数),优化资源占用 |
LISTEN:指定 uWSGI 服务监听端口,需与 uwsgi.ini 中 http = :$(LISTEN) 配合使用,默认建议设置为 8080(需与 EXPOSE 指令一致)。/etc/uwsgi/uwsgi.ini,需确保镜像构建时或运行时该文件存在。master-as-root = true 仅用于 master 进程绑定端口,应用进程通过 uid/gid 降级为非 root 用户,避免安全风险。static-skip-ext 配置确保 .php/.inc 文件不会被当作静态文件返回,需根据应用需求调整允许的扩展名。ossobv/uwsgi-php:5 对应 PHP 5.x,:7 对应 PHP 7.x)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务