Comment configurer Nginx pour exécuter PHP
Ceci est la configuration de nginx.conf
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /Users/*name*/PHPSITE/standard;
index index.html index.htm;
try_files $uri $uri/ /index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /Users/*name*/PHPSITE/standard;
}
location ~ \.php$ { include /usr/local/etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index /index.php; fastcgi_param SCRIPT_FILENAME /Users/*name*/PHPSITE/standard$fastcgi_script_name;
}
}
Mais quand j'exécute sur 127.0.0.1:9000, cela ne fonctionne pas. Sur localhost, il affiche 403 Forbidden. Comme vous pouvez le voir, j'ai supprimé les lignes commentées.
Réponses
Vous devriez toujours utiliser à la $document_rootplace en fournissant le chemin racine partout
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Et vérifiez si votre processus php-fpm est en cours d'exécution, par exemple si vous utilisez systemctl run
systemctl status php-fpm
systemctl start php-fpm
vérifiez également si vous utilisez le même chemin fast_cgi, il doit correspondre dans www.conf du fichier php-fpm (peut être ici /etc/php-fpm.d/www.conf)
listen = 127.0.0.1:9000
et votre fichier de configuration de site nginx.conf
fastcgi_pass 127.0.0.1:9000;
après la mise à jour des fichiers, redémarrez vos services Nginx / php-fpm.
et que visitez http: // localhost (comme vous avez défini nom_serveur ci-dessus) dans votre navigateur, et non 127.0.0.1:9000.