Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hongwenjun/nginx-php
linux/arm,linux/arm64,linux/amd64 多平台支持,甲骨文ARM、华为ARM、香橙派ARM 测试可以使用,nginx-php-fpm7.3 镜像使用apt安装,debian默认系统配置
https://github.com/hongwenjun/nginx-php
arm arm64 debian nginx-php-fpm7 php
Last synced: 3 months ago
JSON representation
linux/arm,linux/arm64,linux/amd64 多平台支持,甲骨文ARM、华为ARM、香橙派ARM 测试可以使用,nginx-php-fpm7.3 镜像使用apt安装,debian默认系统配置
- Host: GitHub
- URL: https://github.com/hongwenjun/nginx-php
- Owner: hongwenjun
- License: mit
- Created: 2021-04-29T00:07:24.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-15T01:47:31.000Z (over 1 year ago)
- Last Synced: 2023-10-16T06:15:11.414Z (over 1 year ago)
- Topics: arm, arm64, debian, nginx-php-fpm7, php
- Language: Dockerfile
- Homepage:
- Size: 107 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 项目描述 [渠成开源社区](https://www.qucheng.cc/project/nginx-php.html)
Nginx-PHP Docker容器是一个集成了Nginx和PHP的容器化解决方案,旨在为开发人员和运维团队提供一个简便的方式来部署和管理Web应用程序。![](./nginx-php.png)
## linux/arm,linux/arm64,linux/amd64 多平台支持,甲骨文ARM、华为ARM、香橙派ARM 测试可以使用
```
# tag 20210703 linux/arm,linux/arm64,linux/amd64 多平台支持
docker pull hongwenjun/nginx-php:20210703
```
### 启动 nginx-php-fpm8.2 容器```
docker run -d -p 80:80 -p 443:443 \
--cpus 0.8 --restart=always \
-v /var/www/html:/var/www/html \
--name nginx-php \
hongwenjun/nginx-php
```## 基于 debian:stable-slim 配置 Docker 容器 nginx-php-fpm8.2 镜像
```
# Docker 编译 Dockerfile
docker build -t nginx-php https://git.io/nginx-php# 测试启动 nginx-php8.2-fpm 容器
docker run -d -p 8888:80 --name nginx-php nginx-php# 进入容器
docker exec -it nginx-php bash```
### https://hub.docker.com/ 登陆、建立公共容器 ,先构造容器,再推送到远程
```
docker login
Username: hongwenjun Password: ******
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.vim Dockerfile
docker build -t hongwenjun/nginx-php .
docker push hongwenjun/nginx-php
```
### 使用 buildx 构建多平台 Docker 镜像
- 参考文章 https://blog.csdn.net/alex_yangchuansheng/article/details/103343697/
```
docker login# 三个平台同时编译打包
docker buildx build -t hongwenjun/nginx-php \
--platform=linux/arm,linux/arm64,linux/amd64 . --push```
-----
## [Dockerfile](https://git.io/nginx-php) 使用 supervisor 启动 php-fpm 和 nginx 服务
```
FROM debian# 安装 nginx supervisor php7.4-fpm 省略 ......
# 映射目录和端口和三个配置文件
EXPOSE 80/tcp 443/tcp
# VOLUME [ /var/www/html /etc/nginx/conf.d /etc/nginx/cert ]# COPY ./default /etc/nginx/sites-enabled/default
# COPY ./supervisord.conf /etc/supervisord.conf
# COPY ./start.sh /start.shCMD ["/start.sh"]
```
-----
## default 是 debian nginx 默认配置修改成启用 php-fpm
```
# /etc/nginx/sites-enabled/default
server {
listen 80 default_server;
listen [::]:80 default_server;# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;root /var/www/html;
index index.html index.php index.nginx-debian.html;
server_name _;location / {
try_files $uri $uri/ =404;
}# pass PHP scripts to FastCGI server
location ~ .*\.php(\/.*)*$ {
include snippets/fastcgi-php.conf;
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}}
```## FROM 多阶段镜像构建
```
FROM hongwenjun/nginx-php AS builder
RUN rm .dockerignore -rfFROM scratch
COPY --from=builder . .CMD ["/start.sh"]
```
## 推荐 [linuxserver/nginx](https://hub.docker.com/r/linuxserver/nginx) 也支持php和更多插件
### docker-compose (recommended)
```
---
version: "2.1"
services:
nginx:
image: ghcr.io/linuxserver/nginx
container_name: nginx
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- :/config
ports:
- 80:80
- 443:443
restart: unless-stopped```
### docker cli
```
docker run -d \
--name=nginx \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 80:80 \
-p 443:443 \
-v :/config \
--restart unless-stopped \
ghcr.io/linuxserver/nginx
```