Nagios+NGiNX „Primäres Skript unbekannt“ Fehler

Nagios+NGiNX „Primäres Skript unbekannt“ Fehler

Ich versuche, Nagios mit PHP-FPM auf NGiNX einzurichten.

Ich habe es installiert fcgiwrapund kann ein Perl-Skript aus dem cgi-binOrdner ausführen, aber wenn ich versuche, auf Nagios zuzugreifen, erhalte ich den folgenden Fehler im NGiNX-Fehlerprotokoll:

2012/08/23 16:40:21 [error] 8319#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 10.1.1.1, server: my.server.tld, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "my.server.tld"

Bei Verwendung der Standardspeicherorte ist mir derselbe Fehler aufgetreten, daher habe ich alles in andere Ordner kopiert, um die ursprünglichen Installationsdateien intakt zu halten.

cp -R /usr/lib/cgi-bin/nagios3 /var/www/cgi-bin

cp -R /usr/share/nagios3/htdocs /var/www/html

Das habe ich eingestellt/etc/nginx/sites-available/default

server {

        listen   80;

        server_name  my.domain.tld;

        access_log  /var/log/nginx/my.domain.tld.access.log;
        error_log   /var/log/nginx/my.domain.tld.error.log;

        index index.php index.html index.htm;

        location / {
                root /var/www/html/;
                auth_basic "Restricted";
                auth_basic_user_file /etc/nagios3/.htpasswd-users;
        }

        # Pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
                fastcgi_pass   localhost:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_intercept_errors on;
        }

        # FastCGI Wrapper
        location /cgi-bin/ {
                gzip off;
                root  /var/www/;
                fastcgi_pass  unix:/var/run/fcgiwrap.socket;
                include /etc/nginx/fastcgi_params;
                fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        }

}

Das habe ich in meinem/etc/nagios3/cgi.cfg

physical_html_path=/var/www/html
url_html_path=/

In Bezug auf PHP verwende ich Folgendes:

PHP 5.3.16-1~dotdeb.0 with Suhosin-Patch (cli) (built: Aug 17 2012 22:03:18)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with the ionCube PHP Loader v4.2.2, Copyright (c) 2002-2012, by ionCube Ltd.
    with Suhosin v0.9.33, Copyright (c) 2007-2012, by SektionEins GmbH

Irgendwelche Ideen, was dies verursachen könnte und/oder wie man es beheben kann?

Antwort1

Um klarzustellenErikAs Antwort:

Es heißt„Primäre Schrift unbekannt“WeilNGiNXtutnichtUnterstützung beim LaufenCGIdirekt. Ein Hilfsprogrammmussinstalliert werden, um dieCGIDateien und geben Sie die Ausgabe zurück anNGiNX.

Aus diesem Grund habe ich installiert fcgiwrap, das dieCGIDateien und übergibt die Ausgabe anPHP-FPM, die dann verarbeitet wird durchNGiNX,Soweit ich weiß.

Obwohl ich dachte, ich hätte mit dem init.dSkript für begonnen fcgiwrap, war dies nicht der Fall.

Ich konnte dies feststellen, indem ich ausführte netstat -alnp | grep cgi, was keine Ausgabe zurückgab, bis ich das Skript startete./etc/init.d/fcgiwrap start

Nachdem ich es gestartet hatte, führte ich es netstat -alnp | grep cgierneut aus und erhielt die folgende Ausgabe:

unix  2      [ ACC ]     STREAM     LISTENING     18955    11251/fcgiwrap      /var/run/fcgiwrap.socket

Sobald das Skript ausgeführt wurde undCGIfunktionierte, erhielt ich diesen Fehler nicht mehr undNagioshat funktioniert.

Ein Hoch auf Migräne, die auf getrübtes Denken und kleine dumme Fehler zurückzuführen ist!

Antwort2

Sofern sich in den letzten Versionen nichts drastisch geändert hat, ist Nagios keine PHP-Anwendung.

verwandte Informationen