Was ist der einfachste Weg, PHP auf nginx zu aktivieren?

126

Was ist der einfachste Weg um PHP auf nginx unter Ubuntu 12.04 zu aktivieren?

Beste Lösung ist diejenige, die minimale Arbeit verlangt, im Idealfall nur eine Paketinstallation:)

    
sorin 10.05.2012, 00:39

2 Antworten

135

Die folgende Methode wird Sie unter Ubuntu 12.04 schnell voranbringen:

Installieren Sie die Abhängigkeiten:

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

Installieren Sie nginx:

sudo apt-get install nginx

Starten Sie nginx:

sudo service nginx start

Testen Sie, dass es funktioniert (sollte "Willkommen bei nginx!" sehen)

sudo service nginx stop

Ändern Sie in Ihrer nginx-Site-Konfiguration (/ etc / nginx / sites-available / default) die Zeile im Server {} Abschnitt

index index.html index.htm bis index index.php index.html index.htm .

Entfernen Sie die Kommentarzeichen für die Zeilen im Abschnitt Server {}, die mit

beginnen

listen für ipv4 / ipv6 beide.

Scrolle nach unten zu "location ~ .php {" und markiere die Zeilen so, dass es so aussieht:

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

Ihr Standard-Webstamm befindet sich unter / usr / share / nginx / www (gemäß der Konfigurationsdatei). (Siehe root /usr/share/nginx/www;

(Hinweis: Für Ubuntu 12.10 oder neuer müssen Sie die fastcgi_pass 127.0.0.1:9000; -Zeile durch diese ersetzen, damit sie funktioniert: fastcgi_pass unix:/var/run/php5-fpm.sock; )

    
papashou 10.05.2012, 01:07
46

BEARBEITEN: Wie von Matt Browne aufgezeigt, könnte es dich interessieren neuerer Beitrag:
Wie installiere ich Linux, Nginx, MySQL, PHP (LEMP-Stack) in Ubuntu 16.04

Die Antwort von papashou ist auf dem alten Ubuntu 12.04 korrekt. Seit Ubuntu 12.10 ist die Konfiguration ein bisschen anders. Hier ist was ich getan habe:

Installieren

sudo apt-get install nginx php5-fpm

PHP aktivieren

Entkommentieren Sie die folgenden Zeilen in der Konfigurationsdatei /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;
}

Start (oder Neustart)

sudo service php5-fpm restart
sudo service nginx restart

Test nginx

Öffnen Sie diesen Link http://localhost sollte "Willkommen bei nginx!" anzeigen

Test php

Erstellen Sie eine PHP-Datei:

  • Der Zielpfad ist die Ausgabe von

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

    z.B. /usr/share/nginx/www

  • Schreiben Sie eine info.php -Datei mit:

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

    oder als Einzeiler

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

Öffnen von http://localhost/info.php sollte die PHP-Informationsseite anzeigen.

    
olibre 07.03.2013 05:39

Tags und Links