大概步驟:
1、安裝NGINX
sudo apt-get install nginx
2、安裝php
sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl
3、安裝mysql
sudo apt-get install mysql-server
4、安裝spawn-fcgi
sudo apt-get install spawn-fcgi
5、配置nginx
(1)在/etc/nginx/fastcgi_params 文件最後,加入一行,可以用sudo vim/etc/nginx/fastcgi_params打開文件
加入此行:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
(2)
打開/etc/nginx/sites-available/default文件
在
server {
後去掉
#listen 80;
前面的#,使得nginx的端口爲80
修改root目錄爲:root /var/www/nginx-default;
當然你要新建該目錄。並sudo chmod 777 /var/www/nginx-default
設置權限
即root和server_name同級
這段即相當於apache的默認目錄 如果沒有這個的話,容易在執行php 文件的時候,會提示”No input file specified”。我就曾在此繞了好大個圈子才發現問題。
然後修改
#location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#includefastcgi_params;
#}
修改成
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params; #fastcgi的參數文件地址
}
6、配置php
另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位於/etc/php5/cgi/php.ini)中,找到cgi.fix_pathinfo選項,修改爲:
cgi.fix_pathinfo=1;
這樣php-cgi方能正常使用SCRIPT_FILENAME這個變量。
7、運行CGI
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
來啓動fast-cgi進程,然後我們可以將這行代碼加入到/etc/rc.local文件底部,這樣系統啓動的時候也可以同時啓動PHP的FastCGI進程。
8、重啓nginx
sudo /etc/init.d/nginx restart
如果無法啓動可以找到apache的目錄把端口改成除80之外或者直接執行sudo killall apache2,直接殺死apache2進程
轉自:http://www.cnblogs.com/kisshemingway/articles/2035313.html