Vorher habe ich überall gesucht und alles getestet, aber es funktioniert immer noch nicht. Ich installiere php5-fpm
und nginx
. Wenn ich es localhost
im Browser öffne, sehe ich diese Seite:
Welcome to nginx!
Die Konfiguration von php5-fpm mit nginx funktioniert jetzt also /etc/php5/fpm/pool.d/www.conf
:
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chdir = /
Alle anderen Zeilen sind kommentiert und dies ist die Nginx-Konfiguration:
upstream php {
server unix:/var/run/php5-fpm.socket;
}
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm index.php;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
#location /RequestDenied {
# proxy_pass http://127.0.0.1:8080;
#}
#error_page 404 /404.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$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# allow all;
#}
}
Das Problem besteht darin, dass beim Versuch, .php
Dateien auszuführen, diese nginx
heruntergeladen .php
statt ausgeführt werden.
Antwort1
PHP-FPM-Socket-Berechtigungen
Bitte überprüfen Sie, ob der Socket über die richtigen Berechtigungen verfügt.
$ ll /var/run/php5-fpm.sock
srw-rw---- 1 www-data www-data 0 Aug 6 14:16 /var/run/php5-fpm.sock=
Fügen Sie es wahrscheinlich listen.mode = 0660
zu Ihrem hinzu www.conf
, wenn die Ausgabe anders ist.
Möglicherweise damit verbunden:nginx-Fehler: Verbindung zu php5-fpm.sock fehlgeschlagen (13: Berechtigung verweigert)
Nginx-Konfiguration
Befinden sich Ihre Dateien wirklich hier?
root /usr/share/nginx/html; index index.html index.htm index.php;
Was soll dieser Block tun?
upstream php { server unix:/var/run/php5-fpm.socket; }
Ich würde vorschlagen, es
try_files $uri =404;
aus demlocation ~ \.php$
Block zu entfernen.Warum ist die Einrückung der Zeilen in 2 und 3 anders als im Rest? Beachten Sie, dass dies eine ordnungsgemäße Konfiguration beeinträchtigen würde, aber es erweckt den Eindruck, dass sie unachtsam zusammengefügt wurden. Bitte geben Sie einen Link zu den von Ihnen verwendeten Anweisungen an.
Antwort2
Du kannst es versuchenEasyEnginemit dem ein Webserver mit einem einzigen Befehl eingerichtet werden kann
Dokumente/Wiki:https://github.com/rtCamp/easyengine/wiki
Wie stellt man das ein:http://www.unixmen.com/easyengine-auto-installer-script-managing-wordpress-nginx-websites-ubuntu-debian/