多nginx單php-fpm的配置方法
用php fastcgi和nginx搭配的形式是很常見的,在很BT的需求下,可能會需要多個nginx走不同的埠,而程序只用一個php-fpm。
本文所講的環境比上述一句話還要BT,存在一個php -fpm,而且每個nginx都以一個非超級使用者所有來進行執行。
這樣就存在了一個BT的情況,php-fpm預設不能以root許可權執行,而普通使用者來執行的話,對其他使用者的目錄,php-fpm將沒有許可權,頁面在執行php的時候,會提示404。
於是有以下的解決方案:
找到php的原始碼 $src_path/sapi/cgi/fpm/fpm_unix.c
在檔案頂部增加一個巨集定義:#define I_REALLY_WANT_ROOT_PHP
重新 configure make make install
此時再修改php-fpm .conf 將user group都修改成root(經過上面的修改php-fpm已經支援root了)。
重啟php-fpm.
配置 各nginx.conf:
location ~ .*\\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
點到即止,不再多說。。。