Server: CentOs x86_64
/etc/php-fpm.d/webuser1.conf
[webuser1]
listen = 127.0.0.1:9001
listen.allowed_clients = 127.0.0.1
user = webuser1
group = webuser1
pm = dynamic
pm.max_children = 15
pm.start_servers = 3
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 2000
request_slowlog_timeout = 5
slowlog = /home/webuser1/tmp/logs/webuser1.slow.log
php_admin_value[error_log] = /home/webuser1/tmp/logs/webuser1.error.log
php_admin_flag[log_errors] = on
/etc/nginx/conf.d/web1.conf
server {
listen 80;
server_name c64p1.v.lab.gavika.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /home/webuser1/www/public;
index index.html index.htm index.php;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/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;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
In den Nginx-Protokollen habe ich:
2013/05/18 15:21:52 [error] 2943#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.122.1, server: c64p1.v.lab.gavika.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9001", host: "c64p1.v.lab.gavika.com"
Wie kann ich das zum Laufen bringen?
Antwort1
Sie haben Ihre root
Anweisungen an den falschen Stellen platziert.
root
sollte im server
Block definiert werden, nicht in jedem location
Block. Dies ist einer derdie häufigsten Nginx-Fehlkonfigurationen.
Um das Problem zu beheben, entfernen Sie alle root
Anweisungen aus jedem location
Block und platzieren Sie die richtige root
Anweisung innerhalb des server
Blocks und nicht innerhalb eines location
.
Antwort2
Können Sie uns mitteilen, welche Header Sie testen, die Ihnen diese Ergebnisse liefern? Es sieht so aus, als würden Sie nur eine Get root (/)-Anfrage über einen Browser ausführen?
Ohne weitere Informationen zu den Eingabe-Headern oder dazu, wie Sie Ihre Konfiguration testen, liegt höchstwahrscheinlich ein Standortproblem in Ihrer Konfiguration vor.
Meine beiden Ratschläge sind:
1) Schauen Sie sich die Hilfeseiten zu Nginx-Standorten an. Das Nginx-Wiki (http://wiki.nginx.org/Configuration) ist ein guter Ausgangspunkt. Auch Martin Fjordvalds Einführung (http://blog.martinfjordvald.com/2010/07/nginx-primer/) ist gut für Standortkonfigurationen.
2) Wenn ich ein Problem damit hätte, meine c64p1.v.lab.gavika.com-Konfiguration zum Laufen zu bringen, würde ich auf eine einfache Nginx-Konfiguration basierend auf einem Localhost-Server zurückgreifen und zuerst die Localhost-Konfiguration zum Laufen bringen.