带有php5 fpm的Nginx pnp4nagios
我已经做了一天了。我想现在是时候寻求帮助了 我要把我们的nagios搬到nginx。我已经运行了nagios和我最近开发的django应用程序。不过,纳吉奥斯给我带来了一些麻烦。我在Nginx中有以下配置带有php5 fpm的Nginx pnp4nagios,nginx,php,Nginx,Php,我已经做了一天了。我想现在是时候寻求帮助了 我要把我们的nagios搬到nginx。我已经运行了nagios和我最近开发的django应用程序。不过,纳吉奥斯给我带来了一些麻烦。我在Nginx中有以下配置 location ~ ^(/pnp4nagios/.*\.php)(.*)$ { root /usr/share/pnp4nagios/html; include /etc/nginx/fastcgi_params; rewrite ^/pnp4nagios/(.*)
location ~ ^(/pnp4nagios/.*\.php)(.*)$ {
root /usr/share/pnp4nagios/html;
include /etc/nginx/fastcgi_params;
rewrite ^/pnp4nagios/(.*)$ /$1 break;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME /usr/share/pnp4nagios/html/$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
}
这导致:
如您所见,pnp4nagios认为其index.php存在于172.16.10.28/index.php中,但事实并非如此。它是一个子页面(或者我应该叫它什么?)。我希望它指向172.16.10.28/pnp4nagios/index.php,但我不知道如何在我的nginx配置中做到这一点。我宁愿不改变pnp4nagios中的任何内容。但如果只是一句或几句话,我愿意做出妥协。我的“根”url中已经有一个index.php。这就是我想要一个子文件夹的原因
让我想到这一点的例子有:
因此,概括一下我想要的(或我认为我需要的)是从以下内容开始:img src=“/index.php…
到img src=“/pnp4nagios/index.php…
另外,我没有足够的点数来创建pnp4nagios标记您的配置中有一个重写,它会剥离php4nagios路径组件。因此,看到对
/index.php
的引用并不奇怪。您应该使用相应目录中的info.php
页面验证生成的CGI变量。令人不快的是:
rewrite/pathinfo/(*)/$1中断代码>这对我很有效:
location /pnp4nagios {
alias /usr/share/pnp4nagios/html;
}
location ~ ^(/pnp4nagios.*\.php)(.*)$ {
root /usr/share/pnp4nagios/html;
include /etc/nginx/fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_pass 127.0.0.1:9000;
}