我有一个使用以下简单配置运行Nginx PHP-fpm的服务器:
server {
listen 80;
server_name ipoftheserver;
access_log /var/www/default/logs/access.log;
error_log /var/www/default/logs/error.log;
location / {
root /var/www/default/public_html;
index index.html index.htm index.PHP;
}
location ^~ /munin/ {
root /var/cache/munin/www/;
index index.html index.htm index.PHP;
}
location ~\.PHP${
include /etc/Nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.PHP;
fastcgi_param SCRIPT_FILENAME /var/www/default/public_html$fastcgi_script_name;
}
}
但是当我打开ipoftheserver / munin /时,我收到404错误(当我请求ipoftheserver /时,/ var / www / default / public_html上的文件被正确侦听)
Munin已安装且完美运行.如果删除此配置并使用另一配置,则一切正常(但不在/ munin /目录中):
server {
server_name ipoftheserver;
root /var/cache/munin/www/;
location / {
index index.html;
access_log off;
}
}
怎么修?非常感谢您的帮助
最佳答案
使用别名而不是根来解决
原文链接:/nginx/532221.htmlserver {
listen 80;
server_name ipoftheserver;
access_log /var/www/default/logs/access.log;
error_log /var/www/default/logs/error.log;
location / {
root /var/www/default/public_html;
index index.html index.htm index.PHP;
}
location /munin/ {
alias /var/cache/munin/www/;
index index.html index.htm index.PHP;
}
location ~\.PHP${
include /etc/Nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/default/public_html$fastcgi_script_name;
}
}