1. 程式人生 > >搭建nginx+php-fpm+php服務遇到的問題

搭建nginx+php-fpm+php服務遇到的問題

a.php-fpm配置檔案修改(php-fpm.conf

cp php-fpm.conf.default php-fpm.conf

vi php-fpm.conf

去掉 ;pid = run/php-fpm.pid中的


b.www.conf配置檔案修改(www.conf

cp www.conf.defalut www.conf

vi www.conf

usergroupnobody修改為www-data


c.php.ini修改

將;cgi.fix_pathinfo1修改為cgi.fix_pathinfo0(去掉這行;不然SCRIPT_FILENAME

這個變數無法使用預設值為1,是為了防止當檔案不存在的時,阻止Nginx將請求傳送到後端的PHP-FPM模組,從而避免惡意指令碼注入攻擊)


d.nginx.conf配置檔案的修改


這個地方預設是被註釋掉的,去掉註釋同時將/script$fastcgi_script_name修改為$document_root$fastcgi_script_name(不修改的話在你訪問index.php的時候會顯示File not found.)


這裡也可以這樣做修改   :

因此不再建議大家使用以下方式(搜了一下,網上大量的文章,並且nginx.conf的預設配置也是使用這種方式):

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

而使用最新的方式:

include fastcgi.conf;



將第一行的user nobody修改為user www-data


在上圖中的地方新增index.php


如果不是在root許可權下面的話,記得修改nginx的埠號(1024以下的埠號都是在root許可權下的),不然無法啟動nginx



啟動nginx遇到的問題“the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /opt/nginx/conf/nginx.conf:1” 

問題出現的原因:nginx的主程序啟動是需要root許可權的  可解決的辦法:修改nginx檔案的許可權