Docker image with PHP-FPM 8.5 & Nginx 1.30 on Alpine Linux
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 5 个月前 | ||
| 7 年前 | ||
| 5 个月前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 5 个月前 |
Docker PHP-FPM 8.5 与 Nginx 1.28 基于 Alpine Linux
适用于 Docker 的 PHP-FPM 8.5 和 Nginx 1.28 容器镜像示例,构建于 Alpine Linux。
代码库:https://github.com/TrafeX/docker-php-nginx
- 基于轻量级且安全的 Alpine Linux 发行版构建
- 多平台支持,包括 AMD4、ARMv6、ARMv7、ARM64
- 极小的 Docker 镜像体积(约 40MB)
- 使用 PHP 8.5 以获得最佳性能、低 CPU 占用和内存占用
- 针对 100 个并发用户进行优化,即限制同时处理 PHP 文件的请求数量
- 优化为仅在有流量时使用资源(通过使用 PHP-FPM 的
on-demand进程管理器) - Nginx、PHP-FPM 和 supervisord 服务均以非特权用户(nobody)身份运行,以提高安全性
- 所有服务的日志均重定向到 Docker 容器的输出(可通过
docker logs -f <容器名称>查看) - 遵循 KISS 原则(保持简单、直接),以便于理解和根据需求调整镜像
我可以为您提供 容器化、Kubernetes、监控、基础设施即代码以及其他 DevOps 挑战 方面的帮助。
本项目目标
此容器镜像的目标是提供一个运行 Nginx 和 PHP-FPM 的容器示例,该示例遵循最佳实践,且易于理解和根据您的需求进行修改。
使用方法
启动 Docker 容器:
docker run -p 80:8080 trafex/php-nginx
在 http://localhost 查看 PHP 信息,或在 http://localhost/test.html 查看静态 HTML 页面。
或者挂载您自己的代码,由 PHP-FPM 和 Nginx 提供服务:
docker run -p 80:8080 -v ~/my-codebase:/var/www/html trafex/php-nginx
版本控制
本镜像遵循语义化版本控制;
latest- 最新稳定版本(每周自动更新,包含 Alpine Linux 的最新补丁)<major>.<minor>.<patch>- 特定的不可变版本(例如3.9.1、3.9.2)<major>.<minor>- 次要版本的最新补丁版本(例如3.9→3.9.2)<major>- 最新的次要版本和补丁版本(例如3→3.9.2)
配置
在 config/ 目录中,您可以找到 Nginx、PHP 和 PHP-FPM 的默认配置文件。 如果您想扩展或自定义配置,可以通过将配置文件挂载到正确的文件夹来实现;
Nginx 配置:
docker run -v "pwd/nginx-server.conf:/etc/nginx/conf.d/server.conf" trafex/php-nginx
PHP 配置:
docker run -v "pwd/php-setting.ini:/etc/php85/conf.d/settings.ini" trafex/php-nginx
PHP-FPM 配置:
docker run -v "pwd/php-fpm-settings.conf:/etc/php85/php-fpm.d/server.conf" trafex/php-nginx
注意:由于 -v 需要绝对路径,因此在示例中添加了 pwd 以返回当前目录的绝对路径
文档和示例
要根据您的特定需求修改此容器,请参考以下示例;
项目介绍
Docker镜像,包含PHP-FPM 8.2与Nginx 1.24,基于Alpine Linux构建。【此简介由AI生成】
