做自(zì)由與創造的先行者

Unix 系統下(xià)的 Nginx 1.4.x

PHP中文(wén)手冊

本文(wén)檔包括使用(yòng) PHP-FPM 爲 Nginx 1.4.x HTTP 服務器安裝和(hé)配置 PHP 的說明(míng)和(hé)提示。

本指南假定您已經從(cóng)源代碼成功構建 Nginx,并且其二進制文(wén)件和(hé)配置文(wén)件都位于 /usr/local/nginx。 如果您使用(yòng)其他(tā)方式獲取的 Nginx,請(qǐng)參考 » Nginx Wiki 并對(duì)照本文(wén)檔完成安裝。

本文(wén)檔僅包含 Nginx 服務器的基本配置,它将通過 80 端口提供 PHP 應用(yòng)的處理(lǐ)能(néng)力。 如果您需要超出本文(wén)檔範圍的安裝配置指導,建議(yì)您查閱 Nginx 和(hé) PHP-FPM 的文(wén)檔。

需要注意的是,本文(wén)檔一律使用(yòng) 'x' 來(lái)表示版本号,請(qǐng)根據實際情況将 'x' 替換爲對(duì)應的版本号。

建議(yì)您訪問 Nginx Wiki » 安裝 頁面以獲取并在您的系統上(shàng)安裝 Nginx。

獲取并解壓 PHP 源代碼:

tar zxf php-x.x.x

配置并構建 PHP。在此步驟您可以使用(yòng)很(hěn)多選項自(zì)定義 PHP,例如啓用(yòng)某些(xiē)擴展等。 運行 ./configure --help 命令來(lái)獲得完整的可用(yòng)選項清單。 在本示例中,我們僅進行包含 PHP-FPM 和(hé) MySQL 支持的簡單配置。

cd ../php-x.x.x

./configure --enable-fpm --with-mysql

make

sudo make install

創建配置文(wén)件,并将其複制到(dào)正确的位置。

cp php.ini-development /usr/local/php/php.ini

cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf

cp sapi/fpm/php-fpm /usr/local/bin

需要着重提醒的是,如果文(wén)件不存在,則阻止 Nginx 将請(qǐng)求發送到(dào)後端的 PHP-FPM 模塊, 以避免遭受惡意腳本注入的攻擊。

将 php.ini 文(wén)件中的配置項 cgi.fix_pathinfo 設置爲 0 。

打開(kāi) php.ini:

vim /usr/local/php/php.ini

定位到(dào) cgi.fix_pathinfo= 并将其修改爲如下(xià)所示:

cgi.fix_pathinfo=0

在啓動服務之前,需要修改 php-fpm.conf 配置文(wén)件,确保 php-fpm 模塊使用(yòng) www-data 用(yòng)戶和(hé) www-data 用(yòng)戶組的身份運行。

vim /usr/local/etc/php-fpm.d/www.conf

找到(dào)以下(xià)内容并修改:

; Unix user/group of processes

; Note: The user is mandatory. If the group is not set, the default user's group

; will be used.

user = www-data

group = www-data

然後啓動 php-fpm 服務:

/usr/local/bin/php-fpm

本文(wén)檔未涵蓋對(duì) php-fpm 進行進一步配置的信息,如果您需要更多信息,請(qǐng)查閱相關文(wén)檔。

配置 Nginx 使其支持 PHP 應用(yòng):

vim /usr/local/nginx/conf/nginx.conf

修改默認的 location 塊,使其支持 .php 文(wén)件:

location / {

root html;

index index.php index.html index.htm;

}

下(xià)一步配置來(lái)保證對(duì)于 .php 文(wén)件的請(qǐng)求将被傳送到(dào)後端的 PHP-FPM 模塊, 取消默認的 PHP 配置塊的注釋,并修改爲下(xià)面的内容:

location ~* \.php$ {

fastcgi_index index.php;

fastcgi_pass 127.0.0.1:9000;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

}

重啓 Nginx。

sudo /usr/local/nginx/sbin/nginx -s stop

sudo /usr/local/nginx/sbin/nginx

創建測試文(wén)件。

rm /usr/local/nginx/html/index.html

echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php

打開(kāi)浏覽器,訪問 http://localhost,将會(huì)顯示 phpinfo() 。

通過以上(shàng)步驟的配置,Nginx 服務器現(xiàn)在可以以 SAPI SAPI 模塊的方式支持 PHP 應用(yòng)了(le)。 當然,對(duì)于 Nginx 和(hé) PHP 的配置,還有很(hěn)多可用(yòng)的選項, 請(qǐng)在對(duì)應的源代碼目錄執行 ./configure --help 來(lái)查閱更多配置選項。

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:Unix 平台的 Lighttpd 1.4
上(shàng)一篇:Unix 系統下(xià)的 Apache 2.x