Hallo Tobias,
Danke für den Beitrag. Ich hab das getestet und der VHost läuft nun endlich.
Aber: es reicht die Angabe "listen 80;" zumindest hier.
Ich hatte hier das Problem, dass der DocumentRoot für PHP-FCGI nicht richtig übergeben wurde.
Folglich lief der Vhost schon die ganze Zeit, lieferte aber nichts zurück und ne index.htm(l) lag nicht im Verzeichnis. Die Zeile "fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;" brachte hier die Lösung.
Ich poste nachfolgend mal meine "nginx.conf" mit den entsprechenden PHP-FCGI Einstellungen.
#user nobody;
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log notice; #debug
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
include vhosts.conf;
#default_type application/octet-stream;
default_type text/html;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#access_log logs/host.access.log main;
root C:/andre/nginx-serverpack/www;
index index.php index.html index.htm;
location = /stat {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
# 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;
}
}
server {
listen 80;
server_name clansuite-dev.com
www.clansuite-dev.com; root C:/nginx-serverpack/www/clansuite/trunk/;
index index.php index.html index.htm;
#access_log logs/clansuite-dev.access.log main;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# A handy function that became available in 0.7.31 that breaks down
# The path information based on the provided regex expression
# This is handy for requests such as file.php/some/paths/here/
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
}
Neues Serverpack für Windows 32So, nun noch kurz zum neuen Serverpack - ich hatte es mündlich bereits erzählt, aber evtl. ist es für die Mitleser und Nichtmitmacher ganz interessant.
Wir wechseln von XAMPP auf eine eigene Serverpack-Zusammenstellung.
Ich möchte kurz die Gründe dafür darlegen:
1) Es findet sich nirgends der Quellcode für die Zusammenstellung des XAMPP-Serverpakets oder
für die abgespeckte Version, den XAMPPLite.
2) Das Hauptpaket bringt inzwischen viel für Entwicklungszwecke nicht benötigte Software mit, so dass
es viel zu groß geworden ist.
3) Die Wartezeit für neue Versionen von XAMPPLite ist zu lang.
Ziel unseres Serverpacks ist, PHP-Entwicklern einen schnellen und kleinen Stack zu Entwicklungszwecken zur Verfügung zu stellen, der sich automatisch updaten und somit aktuell halten lässt.
Die Softwarezusammenstellung sieht folgendermaßen aus:
Nginx + MySQL Community Edition + PHP + XDebug + webgrind.
Diese Basis habe ich hier bereits im Einsatz.
Weitere Vorschläge und Ideen sind insbesondere zum Updateverfahren erwünscht.
Der Updatemechanismus wird, wenns nach mir geht, über ein Webinterface laufen.
D.h. er ist PHP basiert und verwendet eine Beschreibungsdatei für die Bezugsquellen
und enthält entsprechende Anweisungen für die Konfiguration.
Gruß Jens