docker资源网站
docker 拉取nginx
docker pull nginx:1.19
启动nginx容器,挂载nginx 配置文件目录和工作目录
docker run -d -it --name nginx -v /home/docker/www:/usr/share/nginx/html -v /home/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/log/nginx:/var/log/nginx -v /home/docker/nginx/conf.d:/etc/nginx/conf.d -p 80:80 --privileged=true nginx:1.19
修改default.conf 配置文件
在挂载的目录 /home/docker/nginx/conf.d 下找到 default.conf 进行修改
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/web/public; #这里是Nginx 指向地址
index index.php index.html;
#charset koi8-r;
access_log /var/log/nginx/e-use.access.log;
location / {
try_files $uri $uri/ /index.php$is_args$query_string;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php(.*)$ {
root /var/www/html/web/public; #这里是docker PHP-FPM 指向地址,和平常有却别
fastcgi_pass 172.17.0.2:9000; #平常是127.0.0.1 在docker 中需要修改为docker 中的IP地址
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
allow all;
}
}
配置中 php 的配置有修改 root 和 fastcgi_pass 需注意!! 配置完成重启nginx docker restart nginx
在/usr/share/nginx/html/web/public 目录下创建 index.php
<?php
echo phpinfo();
配置完成 请求 http://localhost/ 显示如下 标识成功