2

私はこれに1日行っています。そして今、助けを求める時が来たと思います。

nagiosをnginxに移動しています。私はnagiosと、最近開発したdjangoアプリケーションを実行しています。Pnp4nagiosは私にいくつかの問題を与えています。Nginxには次の構成があります。

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では何も変更したくないです。しかし、それが1行または数行しかない場合、それは私が喜んで行う妥協案です。「ルート」URLにすでにindex.phpがあります。そのため、サブフォルダーが必要です。

このアプローチに私を導いた 例は次のとおりです。Example1Example2

したがって、私が欲しいもの(または私が必要だと思うもの)を要約すると、これから次のようになりますimg src="/index.php...img src="/pnp4nagios/index.php...

PS。pnp4nagiosタグを作成するのに十分なポイントがありませんでした

4

2 に答える 2

4

これは私のために働いた:

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; 

}   
于 2012-10-10T12:06:54.240 に答える
1

php4nagios パス コンポーネントを削除する設定を書き直しました。したがって、 への参照が表示されても驚くことではありません/index.phpinfo.php適切なディレクトリのページを使用して、結果の CGI 変数を確認する必要があります。問題のある行は次のとおりです。

rewrite /pathinfo/(.*)/ $1 break;

于 2012-09-17T05:57:28.187 に答える