nginx'te PHP'yi etkinleştirmenin en kolay yolu nedir?

126

Ubuntu 12.04'te nginx'i etkinleştirmenin en kolay yolu nedir?

En iyi çözüm, en az çalışma gerektiren, ideal olarak yalnızca bir paket yüklemesidir:)

    
sordu sorin 10.05.2012 00:39

2 cevap

135

Aşağıdaki yöntem Ubuntu 12.04'te hızlı başlatmanızı sağlayacak:

Bağımlılıkları yükleyin:

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

nginx'i yükle:

sudo apt-get install nginx

Nginx'i başlat:

sudo service nginx start

Çalıştığını test et (bkz. "Welcome to nginx!")

sudo service nginx stop

Nginx site yapılandırmanızda (/ etc / nginx / site-available / default), sunucunun {} bölümündeki satırı değiştirin

index index.html index.htm - index index.php index.html index.htm .

ile başlayan sunucu {} bölümündeki satırları kaldırın

Her iki ipv4 / ipv6 için listen .

"location ~ .php {" ve uncomment çizgilerini belirttiği yere aşağı kaydırın, böylece şöyle görünür:

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 % Co_de%

Varsayılan web kökünüz / usr / share / nginx / www adresinde (yapılandırma dosyası başına) bulunur. (Bkz.% Co_de%

(Not: Ubuntu 12.10 veya daha yeni bir sürümü için, sudo service nginx restart satırını bunun çalışması için bununla değiştirmeniz gerekir: root /usr/share/nginx/www; )

    
verilen cevap papashou 10.05.2012 01:07
46

DÜZENLEME: Matt Browne tarafından belirtildiği gibi, bu konuyla ilgilenebilirsiniz. daha yeni yayın:
Ubuntu'da Linux, Nginx, MySQL, PHP (LEMP yığını) Nasıl Yüklenir 16.04

Papashou'nun cevabı eski Ubuntu 12.04'te doğrudur. Ubuntu 12.10'dan beri, yapılandırma biraz farklı. İşte yaptığım şey:

Yükle

sudo apt-get install nginx php5-fpm

PHP'yi Etkinleştir

Yapılandırma dosyasında aşağıdaki satırları uncomment /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;
}

Başlat (veya yeniden başlat)

sudo service php5-fpm restart
sudo service nginx restart

Test nginx

Bu bağlantıyı%% co_de açmak "nginx'e hoş geldiniz!"

göstermelidir.

Test http://localhost

Bir php dosyası oluşturun:

  • Hedef yol

    çıktısıdır
    awk -F' |;' '/^[^#]*root/ {print }' /etc/nginx/sites-available/default
    

    örn. % Co_de%

  • php dosyasını şu şekilde yaz:

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

    veya tek liner olarak

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

/usr/share/nginx/www 'nin açılması PHP bilgi sayfasını görüntülemelidir.

    
verilen cevap olibre 07.03.2013 05:39

Etiketlerdeki diğer soruları oku