docker-php-nginx:基于 Alpine Linux 的 PHP-FPM 与 Nginx 容器项目

Docker image with PHP-FPM 8.5 & Nginx 1.30 on Alpine Linux

分支5Tags33
文件最后提交记录最后更新时间
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 原则(保持简单、直接),以便于理解和根据需求调整镜像

Docker Pulls nginx 1.28 php 8.5 License MIT

Trafex Consultancy

我可以为您提供 容器化、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.13.9.2
  • <major>.<minor> - 次要版本的最新补丁版本(例如 3.93.9.2
  • <major> - 最新的次要版本和补丁版本(例如 33.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生成】

定制我的领域
311.51 K763访问 GitHub