nginx配置php老是出错,最后才发现是$document_root的设置问题。
?location ~ \.php$ { ? ? root? ? ? ? html; ? ? fastcgi_pass? 127.0.0.1:9000; ? ? fastcgi_index? index.php; ? ? fastcgi_param? SCRIPT_FILENAME? $document_root$fastcgi_script_name; ? ? include? ? ? ? fastcgi_params; ?}
用这个出现找不到php的错误。
因为$document_root 的参数是由root html那一行定义的,默认是在/usr/share/nginx/html/ 所以把 html换成站点根目录就正常了。
# vi /etc/nginx/conf.d/default.confbak server { ? ? listen? ? ? 80; ? ? server_name? localhost;
? ? #charset koi8-r; ? ? #access_log? /var/log/nginx/host.access.log? main;
? ? location / { ? ? ? ? root? /usr/share/nginx/html; ? ? ? ? index? index.html index.htm index.php; ? ? }
? ? #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? ? ? ? ? /usr/share/nginx/html; ? ? ? ? fastcgi_pass? 127.0.0.1:9000; ? ? ? ? fastcgi_index? index.php; ? ? ? ? fastcgi_param? SCRIPT_FILENAME? $document_root$fastcgi_script_name; ? ? ? ? include? ? ? ? fastcgi_params; ? ? }
? ? # deny access to .htaccess files, if Apache's document root ? ? # concurs with nginx's one ? ? # ? ? #location ~ /\.ht { ? ? #? ? deny? all; ? ? #} }