很久沒(méi)去自己的網(wǎng)站丹允,今天去看發(fā)現(xiàn)報(bào)50x的錯(cuò)誤歪沃。
網(wǎng)站是用nginx服務(wù)的。
網(wǎng)上很多情況是因?yàn)閚ginx配置中
location ~ .php$ {
# root html;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
這一部分出問(wèn)題嫌松,關(guān)鍵字搜索出來(lái)的問(wèn)題比較集中是對(duì)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
這個(gè)部分配置錯(cuò)誤的說(shuō)明。
但是我的配置是正確的奕污。
我在服務(wù)器上
service php-fpm status
提示正常運(yùn)行萎羔。
php ./index.php
也能正常執(zhí)行。
問(wèn)題鎖定在
fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
也就是說(shuō)nginx找不到php-fpm來(lái)執(zhí)行.php腳本碳默。
那么php-fpm.sock贾陷,具體在哪里缘眶,
那是要根據(jù)php-fpm.conf中的設(shè)置決定的。
上網(wǎng)換了關(guān)鍵字搜索終于找到一些有用的信息
fastcgi_pass的設(shè)置是要根據(jù)php-fpm.conf中的 里面的對(duì)listen設(shè)置來(lái)決定髓废。
好的接下來(lái)的問(wèn)題就是找到php-fpm.conf巷懈,并把listen項(xiàng)配置好
有的服務(wù)器并不會(huì)在php-fpm.conf中直接給出設(shè)置,
但是有這么一句
include=/etc/php-fpm.d/*.conf
那么我們就去對(duì)應(yīng)的php-fpm.d目錄去找conf
我的是www.conf
終于發(fā)現(xiàn)里面的
listen = /var/run/php-fpm/php-fpm.sock
然后到nginx里面把相應(yīng)配置換過(guò)來(lái)就好了慌洪。
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
網(wǎng)上很多是
fastcgi_pass unix:/var/run/php-fpm.sock;
這個(gè)具體要根據(jù)自己php-fpm.conf里面的對(duì)php-fpm.sock設(shè)置來(lái)定的顶燕。
問(wèn)題記錄一下,遇到問(wèn)題別慌冈爹,多思考涌攻,多搜索,你能發(fā)現(xiàn)很多精彩的東西频伤。
搜索要帶著思考的恳谎,如果一味的鉆死胡同,永遠(yuǎn)找不到答案憋肖,分析問(wèn)題的能力就得不到提高了因痛。