本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
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 应用镜像:
FROM 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 配置文件,需手动提供。以下是典型配置示例及说明:
[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)。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429