Docker安装Nginx、PHP
准备docker环境
此处略过
拉下最新镜像
docker pull nginx
docker pull php:8.2-fpm
创建宿主机目录用作挂载
# nginx配置目录
mkdir -p /www/server/nginx/conf.d
# php配置目录
mkdir -p /www/server/php82
# 站点目录
mkdir -p /www/wwwroot/
# nginx日志目录
mkdir -p /www/wwwlogs/
创建docker网络
docker network create webserver
创建临时的php容器,将配置文件cp到宿主机
docker run --name temp-php-container -d php:8.2-fpm
docker cp temp-php-container:/usr/local/etc/php /www/server/php82
docker rm -f temp-php-container
创建php容器并启动
docker run -d --name php82-fpm --network webserver \
-v /www/server/php82:/usr/local/etc/php \
-v /www/wwwroot:/usr/share/nginx/html \
php:8.2-fpm
创建临时的nginx容器,将配置文件cp到宿主机
docker run --name temp-nginx-container -d nginx
docker cp temp-nginx-container:/etc/nginx/conf.d /www/server/nginx/conf.d
docker cp temp-nginx-container:/etc/nginx/nginx.conf /www/server/nginx/nginx.conf
docker rm -f temp-nginx-container
创建nginx容器并启动
docker run -d --name nginx --network webserver \
-p 80:80 \
-v /www/server/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /www/server/nginx/conf.d:/etc/nginx/conf.d \
-v /www/wwwroot:/usr/share/nginx/html \
nginx
创建nginx默认站点配置
vim /www/server/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/default; # 容器内的路径
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php82-fpm:9000; # PHP-FPM 容器的名称和端口
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
创建站点文件
vim /www/wwwroot/default/phpinfo.php
<?php
phpinfo();
重启nginx容器
docker restart nginx
访问浏览器
http://localhost/phpinfo.php
未经允许,禁止转载。