ubuntu下Nginx+php(fastcgi)安裝配置
周海漢 2010.9.27 http://abloz.com/2010/09/27/ubuntu-under-nginx-php-fastc.html
都說nginx比apache效率高很多,所以在ubuntu 10.04的本機配置一個nginx+php。
安裝配置nginx
sudo apt-get install nginx
啟動nginx
sudo service nginx restart
啟動完了測試一下。 在瀏覽器中輸入http://localhost,顯示 Welcome to nginx! web伺服器配置成功。
安裝php5
sudo apt-get install php5
光有php5還不行,因為nginx只支援fast-cgi模式。所以必須裝fast-cgi
安裝fast-cgi
[email protected]:/etc/nginx# apt-get install php5-cgi
執行: [email protected]:/etc/nginx# php5-cgi -b 127.0.0.1:9000
也可以再安裝spawn-fcgi [email protected]:~$ sudo apt-get install spawn-fcgi spawn-fcgi是fastcgi的管理程式,從Lighthttpd獨立出來的專案。實際運營中可以使用php-fpm(php的fastcgi php manager). php 5.3.3中自帶php-fpm,但我現在的版本是php 5.3.2.
採用spawn-fcgi執行: [email protected]:~$ spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi spawn-fcgi: child spawned successfully: PID: 9700
測試php
修改nginx配置檔案:
cd /etc/nginx [email protected]:/etc/nginx# vi sites-available/default
server { listen 80 default; server_name localhost; access_log /var/log/nginx/localhost.access.log; location / { root /var/www/nginx-default; #增加index.php index index.php index.html index.htm; } location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; } location /images { root /usr/share; autoindex on; } #去掉註釋 location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } }
重啟nginx 編寫php測試程式。
[email protected]:~# cat /var/www/nginx-default/index.php
<?php
echo "hello world";
phpinfo();
?>
排錯:
在瀏覽器中輸入http://localhost/index.php 顯示: No input file specified.
log裡顯示沒有找到檔案。 後面發現是default檔案裡location ~ .php$段的fastcgi_param必須修改。 如下:
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
即$fastcgi_script_name必須放到web根目錄下。也可以用變數$document_root fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
重啟nginx,再瀏覽http://localhost/,打印出hello world和php info資訊。
如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源