Éditer.
La question a déjà obtenu une réponse ici:
/server/889334/cant-get-nginx-to-run-php-on-ubuntu-16-04-server
J'installe un serveur exécutant nginx et j'essaie de le faire exécuter des scripts php.
Apparemment, le plus grand article sur la façon d'obtenir nginx pour exécuter php est celui-ci: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in- ubuntu-16-04
La discussion suivante se termine là-dessus à mesure que les autres directions vieillissent.
Quelle est la façon la plus simple d'activer PHP sur nginx?
Je vais par les instructions sur le site Web de l'océan numérique, mais rien ne change, je ne peux toujours pas exécuter php.
Je suis assez perdu dans cela et toute aide serait appréciée.
Voici la sortie de 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.
Voici la sortie de 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
Et voici le fichier de configuration que j'utilise.
C'est à /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
}
J'ai déjà:
- redémarré php-fpm.
- redémarré nginx.
- force rechargé le cache du navigateur avec ctrl-f5.
- vérifié / var / log / error pour les erreurs mais il n'y a apparemment aucune erreur lorsque j'exécute le fichier php. C'est comme si nginx ne se rend pas compte qu'il est censé exécuter le php au lieu de simplement le traiter comme un fichier normal.
J'essaie d'exécuter un script contenant uniquement la fonction phpinfo()
. Mais au lieu de me donner les informations php, le navigateur me propose simplement de télécharger le fichier. /
:
sudo service nginx status
etphp -v
Réponses:
Ouvrez
terminal
et exécutez la commande suivante:cela ouvrira votre
nginx
fichier de configuration. éditez-le avec le texte suivant:après avoir enregistré le fichier, exécutez la commande suivante pour redémarrer nginx:
la source
/var/run/php7-fpm.sock
/usr/share/nginx/html