Quel est le moyen le plus simple d'activer PHP sur nginx?

126

Quel est le moyen le plus simple d’activer PHP sur nginx sous Ubuntu 12.04?

La meilleure solution est celle qui demande un minimum de travail, idéalement juste une installation de package:)

    
posée sorin 10.05.2012 - 00:39
la source

2 réponses

135

La méthode suivante vous permettra de démarrer rapidement sur Ubuntu 12.04:

Installez les dépendances:

sudo apt-get install php5-common php5-cli php5-fpm

Installer nginx:

sudo apt-get install nginx

Démarrer nginx:

sudo service nginx start

Testez son fonctionnement (voir "Bienvenue dans nginx!")

sudo service nginx stop

Dans votre configuration du site nginx (/ etc / nginx / sites-available / default), modifiez la ligne dans la section {} du serveur

index index.html index.htm à index index.php index.html index.htm .

Décommentez les lignes dans la section du serveur {} en commençant par

listen pour ipv4 / ipv6 les deux.

Faites défiler jusqu’à ce qu’il indique "location ~ .php {" et décommentez les lignes pour qu’elles ressemblent à ceci:

location ~ \.php$ {
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  include fastcgi_params;
}

sudo service php5-fpm restart sudo service nginx restart

Votre racine Web par défaut se trouve dans / usr / share / nginx / www (selon le fichier de configuration). (Voir root /usr/share/nginx/www;

(Remarque: pour Ubuntu 12.10 ou plus récent, vous devrez remplacer la ligne fastcgi_pass 127.0.0.1:9000; par celle-ci pour que cela fonctionne: fastcgi_pass unix:/var/run/php5-fpm.sock; )

    
réponse donnée papashou 10.05.2012 - 01:07
la source
46

MODIFIER: Comme indiqué par Matt Browne , cela pourrait vous intéresser article plus récent:
Comment installer Linux, Nginx, MySQL, PHP (pile LEMP) dans Ubuntu 16.04

La réponse de papashou est correcte sur l’ancien Ubuntu 12.04. Depuis Ubuntu 12.10, la configuration est un peu différente. Voici ce que j'ai fait:

Installer

sudo apt-get install nginx php5-fpm

Activer PHP

Décommentez les lignes suivantes dans le fichier de configuration /etc/nginx/sites-available/default

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

#   # With php5-cgi alone:
#   fastcgi_pass 127.0.0.1:9000;
    # With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

Démarrer (ou redémarrer)

sudo service php5-fpm restart
sudo service nginx restart

Tester nginx

L'ouverture de ce lien http://localhost devrait afficher "Bienvenue dans nginx!"

Tester php

Créez un fichier php:

  • Le chemin cible est la sortie de

    awk -F' |;' '/^[^#]*root/ {print }' /etc/nginx/sites-available/default
    

    p. ex. /usr/share/nginx/www

  • Ecrivez un fichier info.php avec:

    echo '<?php phpinfo(); ?>' | \
        sudo tee /usr/share/nginx/www/info.php
    

    ou en un seul ticket

    echo '<?php phpinfo(); ?>' | \
        sudo tee "$(awk -F' |;' '/^[^#]*root/ {print }' /etc/nginx/sites-available/default)/info.php"
    

L’ouverture de http://localhost/info.php devrait afficher la page d’information de PHP.

    
réponse donnée olibre 07.03.2013 - 05:39
la source

Lire d'autres questions sur les étiquettes