PHP-FPM-Socket-Berechtigungen

PHP-FPM-Socket-Berechtigungen

Vorher habe ich überall gesucht und alles getestet, aber es funktioniert immer noch nicht. Ich installiere php5-fpmund 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, .phpDateien auszuführen, diese nginxheruntergeladen .phpstatt 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 = 0660zu 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

  1. Befinden sich Ihre Dateien wirklich hier?

    root /usr/share/nginx/html;
    index index.html index.htm index.php;
    
  2. Was soll dieser Block tun?

      upstream php {
            server unix:/var/run/php5-fpm.socket;
      }
    
  3. Ich würde vorschlagen, es try_files $uri =404;aus dem location ~ \.php$Block zu entfernen.

  4. 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/

verwandte Informationen