Primary script unknown" while reading response header from upstream

來源:本站原創 Linux 超過801 views圍觀 0條評論

今天下午搞了一個下午的LNMP環境搭建,N,M,P都安裝成功了,靜態頁面也正常,就差最后一步了,擋的我好心累。

【解決步驟】
1、使用wget從本機獲取php頁面,返回的是狀態碼是404.
2、查找錯誤日志如下(可以放大看):

2018/08/17 05:13:57 [error] 11451#0: *11 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client:  , server: www3.ccie.wang, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: " "

 

3、網上說的解決錯誤的方法都試了,大多都是粘貼復制,說的是修改Nginx配置文件中找到定義調用腳本文件的地方,修改下面的代碼

location / {
root   /usr/local/nginx/html;
index  index.php index.html index.htm;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

結果還是不行,結果還是404錯誤。

4.既然靜態頁面解析沒問題,肯定是Nginx和PHP的結合程序FastCGI出了問題,查看PHP服務php-fpm

#ps -ef|grep php-fpm


紅色筆圈住的地方,本來用戶默認是nobody,(nobody用戶應該沒有多少權限)。正常應該用戶是和Nginx進程一致

5、修改php-fpm進程的用戶和用戶組試試:

#vi /application/php/etc/php-fpm.d/www.conf
這是我的服務器上php-fpm的配置文件路徑(我是編譯安裝的)

 

找到user = nobody

和group = nobody

將其改為何Nginx一致的用戶,我這里是chenxuliang用戶,如圖

修改為下面配置

/etc/php-fpm.d/www.conf

user = nginx

group = nginx


然后使php-fpm服務重啟,(我是編譯安裝的,不知道怎么重啟服務,使用ps -ef 命令查找到php-fpm進程號然后將其kill掉,命令#kill -9 process_id,然后執行/application/php/sbin/php-fpm,啟動服務,注意這是在我的環境下是這個路徑)

6、測試。linux本機執行wget,或者在瀏覽器中獲取php文件,看其是否解析成功。如下圖:

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3885轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏