配置nginx支持PHP

nginx自己不支持php。若是須要使用php,須要安裝php解析服務,如php-fpm,或spawn-fcgi等。從在Ubuntu上配置的便捷性考慮,此次使用php-fpm實現。php

安裝php和php-fpm

安裝方法,略……html

由於能夠直接用包管理器安裝。nginx

安裝後須要啓動服務。git

修改nginx配置文件

修改配置文件/etc/nginx/sites-available/default,首先讓讓默認頁面裏有php文件:github

index index.php index.html index.htm;

接着開啓php支持,找到「location ~ .php」部分,將其中的註釋進行修改:web

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;
}

「fastcgi_pass 127.0.0.1:9000;」與spawn-fcgi有關,故要註釋。修改配置文件後須要重啓nginx服務。服務器

原理

按網上的說法:「nginx自己不能處理PHP,它只是個web服務器,當接收到請求後,若是是php請求,則發給php解釋器處理,並把結果返回給客戶端。nginx通常是把請求發fastcgi管理進程處理,fascgi管理進程選擇cgi子進程處理結果並返回被nginx」。也就是說,nginx將處理請求交給php5-fpm,再接收處理返回結果。php-fpm

參考

http://www.nginx.cn/231.htmlpost

相關文章
相關標籤/搜索