Bearbeiten.
Die Frage wurde hier bereits beantwortet:
/server/889334/cant-get-nginx-to-run-php-on-ubuntu-16-04-server
Ich richte einen Server ein, auf dem Nginx ausgeführt wird, und ich versuche, ihn dazu zu bringen, PHP-Skripte auszuführen.
Anscheinend ist der beste Artikel darüber, wie man Nginx dazu bringt, PHP auszuführen, dieser: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in- Ubuntu-16-04
Die folgende Diskussion endet damit, wenn die anderen Richtungen älter werden.
Was ist der einfachste Weg, um PHP auf Nginx zu aktivieren?
Ich gehe die Anweisungen auf der Digital Ocean Website durch, aber nichts ändert sich, ich kann immer noch kein PHP ausführen.
Ich bin ziemlich verloren darin und jede Hilfe wäre dankbar.
Hier ist die Ausgabe von sudo service nginx status
:
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2017-12-17 13:46:33 GMT; 55min ago
Process: 19056 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 19091 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
Process: 19064 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 19059 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 19066 (nginx)
Tasks: 2
Memory: 4.6M
CPU: 406ms
CGroup: /system.slice/nginx.service
├─19066 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─19094 nginx: worker process
Dec 17 13:46:33 websites systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 17 13:46:33 websites systemd[1]: Started A high performance web server and a reverse proxy server.
Dec 17 13:48:53 websites systemd[1]: Reloading A high performance web server and a reverse proxy server.
Dec 17 13:48:53 websites systemd[1]: Reloaded A high performance web server and a reverse proxy server.
Hier ist die Ausgabe von php -v
:
PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies
Und hier ist die Konfigurationsdatei, die ich verwende.
Es ist bei /etc/nginx/conf.d/virtual_servers.conf
.
server {
listen 80;
server_name openage.org www.openage.org;
#listen [::]:80 default_server ipv6only=on;
#root /usr/share/nginx/html;
root /etc/nginx/html/openage;
index index.php index.html index.htm;
#server_name localhost;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/openage.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/openage.org/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Ich habe schon:
- php-fpm neu gestartet.
- Nginx neu gestartet.
- Erzwinge das erneute Laden des Browser-Cache mit Strg-F5.
- überprüfte / var / log / error auf Fehler, aber es gibt anscheinend keine Fehler, wenn ich die PHP-Datei ausführe. Es ist, als würde nginx einfach nicht erkennen, dass es das PHP ausführen soll, anstatt es nur wie eine normale Datei zu behandeln.
Ich versuche, ein Skript auszuführen, das nur die Funktion enthält phpinfo()
. Aber anstatt mir die PHP-Informationen zu geben, bietet mir der Browser nur an, die Datei herunterzuladen. /
::
sudo service nginx status
undphp -v
Antworten:
Öffnen Sie
terminal
den folgenden Befehl und führen Sie ihn aus:nginx
Dadurch wird Ihre Konfigurationsdatei geöffnet . Bearbeiten Sie es mit folgendem Text:Führen Sie nach dem Speichern der Datei den folgenden Befehl aus, um nginx neu zu starten:
quelle
/var/run/php7-fpm.sock
/usr/share/nginx/html