1、nginx+php访问的时候 Access denied.
环境说明:
镜像:richarvey/nginx-php-fpm:1.7.1
nginx配置
#UA配置
map $http_user_agent $is_desktop {
default 0;
~*linux.*android|windows\s+(?:ce|phone) 0;
~*test1 1;
~*test2 2;
}
map $is_desktop $web_root {
2 /biz-code/socrates_test2/public;
1 /biz-code/socrates_test1/public;
0 /biz-code/socrates/public;
}
server {
listen 80;
server_name www.test.com erptest;
index index.html;
error_log /dev/stdout info;
access_log /dev/stdout;
#root /alidata/biz-code/socrates/public;
root $web_root;
location / {
#alias $waproot;
#index index.html;
try_files $uri $uri/ /index.html;
index index.html;
}
location /help/ {
index index.html;
try_files $uri $uri/ /help/index.html;
}
location /locke/ {
index index.html;
try_files $uri $uri/ /help/index.html;
}
location ~ \.php {
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index /index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root /biz-code/socrates/public;
}
location =/status {
access_log off;
return 200;
}
#额外配置
large_client_header_buffers 4 16k; #header大小
client_max_body_size 300m; #上传文件大小限制
client_body_buffer_size 128k; #缓冲区大小
proxy_connect_timeout 600; #设置与upstream server的连接超时时间
proxy_read_timeout 600; #设置与代理服务器的读超时时间
proxy_send_timeout 600; #发送请求给upstream服务器的超时时间
proxy_buffer_size 64k; #设置缓冲区大小
proxy_buffers 4 32k; #设置缓冲区的大小和数量
proxy_busy_buffers_size 64k; #buffer数量
proxy_temp_file_write_size 64k; #缓存文件夹大小
fastcgi_connect_timeout 1800s;
fastcgi_send_timeout 1800s;
fastcgi_read_timeout 1800s;
}
解决:
进入到容器里面,然后修改参数
docker exec -it test-php /bin/bash
cd /usr/local/etc/php/conf.d
vi docker-vars.ini
cgi.fix_pathinfo=0 改为 cgi.fix_pathinfo=1
改完之后记得重启php-fpm
先拿到pid,再根据pid重启
ps -ef|grep php
kill -USR2 15