diff --git a/README.md b/README.md index 1131ed6..c4faeaf 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,10 @@ bash dnmp.sh install phpmyadmin | 版本 | 容器名 | FastCGI 端口 | 目录 | | --- | --- | --- | --- | -| PHP 7.4(默认启动) | php-7.4 | 127.0.0.1:9074 | php74 | -| PHP 8.3(按需启动) | php-8.3 | 127.0.0.1:9083 | php83 | +| PHP 8.3(默认启动) | php-8.3 | 127.0.0.1:9083 | php83 | +| PHP 7.4(按需启动) | php-7.4 | 127.0.0.1:9074 | php74 | -`bash dnmp.sh run` 只会启动 PHP 7.4;需要 PHP 8.3 时执行 `bash dnmp.sh start php83`(`bash dnmp.sh start all` 也会一并启动)。站点使用哪个版本由 nginx vhost 里的 `fastcgi_pass` 端口决定,参考 `nginx/conf/vhost/site.conf.example`。 +`bash dnmp.sh run` 启动的是 PHP 8.3;需要 PHP 7.4 时执行 `bash dnmp.sh start php74`。站点使用哪个版本由 nginx vhost 里的 `fastcgi_pass` 端口决定,参考 `nginx/conf/vhost/site.conf.example`。 PHP 8.3 镜像需要自行构建并推送(Docker Hub 上的 `helloz/php` 只提供 7.4): @@ -36,9 +36,9 @@ docker push helloz/php:8.3-fpm-alpine # reload nginx config docker exec -it nginx xc.sh reload -# start / stop PHP 8.3 on demand -bash dnmp.sh start php83 -bash dnmp.sh stop php83 +# start / stop PHP 7.4 on demand +bash dnmp.sh start php74 +bash dnmp.sh stop php74 # check php version docker exec php-8.3 php -v diff --git a/dnmp.sh b/dnmp.sh index d001ba4..5dc739c 100644 --- a/dnmp.sh +++ b/dnmp.sh @@ -18,8 +18,8 @@ then export GROUP_ID=${GROUP_ID} fi -# 服务列表 -services=(nginx mysql php74 php83) +# 服务列表(默认启动 PHP 8.3,7.4 可通过 start php74 按需启动) +services=(nginx mysql php83) # 安装运行环境 install_rumtime(){ diff --git a/docker-compose.yaml b/docker-compose.yaml index 1bdecfe..1582133 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -12,18 +12,35 @@ services: - ./nginx/ssl:/usr/local/nginx/conf/ssl restart: always - php-fpm: - image: helloz/php:7.4-fpm-alpine + # PHP 7.4(按需启动:bash dnmp.sh start php74) + # php-fpm: + # image: helloz/php:7.4-fpm-alpine + # network_mode: host + # container_name: php-7.4 + # environment: + # - USER_ID=${USER_ID} + # - GROUP_ID=${GROUP_ID} + # user: "${USER_ID}:${GROUP_ID}" + # volumes: + # - ./php74/www.conf:/usr/local/etc/php-fpm.d/www.conf + # - ./php74/php.ini:/usr/local/etc/php/conf.d/php.ini + # - ./php74/log:/usr/local/log + # - ./wwwroot:/var/www/html + # restart: on-failure + + # PHP 8.3(默认启动) + php83-fpm: + image: helloz/php:8.3-fpm-alpine network_mode: host - container_name: php-7.4 + container_name: php-8.3 environment: - USER_ID=${USER_ID} - GROUP_ID=${GROUP_ID} user: "${USER_ID}:${GROUP_ID}" volumes: - - ./php74/www.conf:/usr/local/etc/php-fpm.d/www.conf - - ./php74/php.ini:/usr/local/etc/php/conf.d/php.ini - - ./php74/log:/usr/local/log + - ./php83/www.conf:/usr/local/etc/php-fpm.d/www.conf + - ./php83/php.ini:/usr/local/etc/php/conf.d/php.ini + - ./php83/log:/usr/local/log - ./wwwroot:/var/www/html restart: on-failure diff --git a/nginx/conf/nginx.conf b/nginx/conf/nginx.conf index d7e9ffd..8ad2820 100644 --- a/nginx/conf/nginx.conf +++ b/nginx/conf/nginx.conf @@ -104,7 +104,7 @@ http { # PHP 配置 location ~ [^/]\.php(/|$) { include fastcgi_params; - fastcgi_pass 127.0.0.1:9074; + fastcgi_pass 127.0.0.1:9083; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } diff --git a/nginx/conf/vhost/site.conf.example b/nginx/conf/vhost/site.conf.example index 3a2f9f2..ae35f67 100644 --- a/nginx/conf/vhost/site.conf.example +++ b/nginx/conf/vhost/site.conf.example @@ -1,7 +1,7 @@ # PHP 版本通过 fastcgi_pass 的端口选择: -# 127.0.0.1:9074 => PHP 7.4(默认) -# 127.0.0.1:9083 => PHP 8.3 -# 把下面 location ~ \.php$ 中的端口改成 9083 即可让本站点使用 PHP 8.3 +# 127.0.0.1:9083 => PHP 8.3(默认) +# 127.0.0.1:9074 => PHP 7.4(按需启动:bash dnmp.sh start php74) +# 把下面 location ~ \.php$ 中的端口改成 9074 即可让本站点使用 PHP 7.4 server { listen 80; @@ -14,7 +14,7 @@ server { location ~ \.php$ { include fastcgi_params; - fastcgi_pass 127.0.0.1:9074; + fastcgi_pass 127.0.0.1:9083; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; try_files $uri =404; @@ -62,7 +62,7 @@ server { location ~ \.php$ { include fastcgi_params; - fastcgi_pass 127.0.0.1:9074; + fastcgi_pass 127.0.0.1:9083; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; try_files $uri =404;