最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

將PHP從5.3.28升級(jí)到5.3.29時(shí)Nginx出現(xiàn)502錯(cuò)誤

 更新時(shí)間:2015年05月09日 17:32:50   投稿:mdxy-dxy  
這篇文章主要介紹了將PHP從5.3.28升級(jí)到5.3.29時(shí)Nginx出現(xiàn)502錯(cuò)誤,需要的朋友可以參考下

今天將PHP從5.3.28升級(jí)到5.3.29,發(fā)現(xiàn)網(wǎng)站打不開了,提示”502 bad gateway”,訪問靜態(tài)資源可以,但訪問任何PHP文件都會(huì)502。
其實(shí)之前也發(fā)現(xiàn)這個(gè)問題,只是一直沒找到解決辦法,所以我一直將PHP保持在5.3.28版本。
按照我以前的脾氣,我什么軟件都得要最新的穩(wěn)定版,但PHP之類的軟件是例外,因?yàn)榘姹靖吡?,?huì)導(dǎo)致很多程序不兼容,相對(duì)來說5.3兼容性算是最好的版本之一,當(dāng)然5.2也可以。
強(qiáng)迫癥實(shí)在受不了,官方說5.3.29是5.3的最后一個(gè)版本,最后一個(gè)版本出現(xiàn)這種問題又一直沒解決讓我很難受。
網(wǎng)上搜索了一下,沒人出現(xiàn)我這種問題,所有的編譯過程,配置過程,都是照舊,之前從5.3.25一直到5.3.28都是用的我寫的同一個(gè)升級(jí)腳本,按道理同一個(gè)子版本系列,一樣的編譯和配置過程,不應(yīng)該出現(xiàn)問題的。
為何5.3.25一直到5.3.28都沒問題,到了5.3.29就沒問題了呢?
今天終于把問題的根源找到了,我也是醉了……
由于我不想占用額外的端口,所以Nginx和PHP-FPM之間一直使用的Unix socket,而且據(jù)說這種方式效率也高一些。
PHP升級(jí)到5.3.29以后,出現(xiàn)502錯(cuò)誤,而且是一打開網(wǎng)頁(yè)就報(bào)錯(cuò)了,不像是由于PHP執(zhí)行超時(shí)導(dǎo)致的Nginx提示502,更像是PHP-FPM異常終止了,或者是Ngxin根本沒有連接上fastcgi。
使用PHP-FPM的日志也是郁悶,我明明開啟了日志,還設(shè)置了日志路徑,但還是沒有生成日志。

好吧,根據(jù)前面的思路推測(cè)出來的原因找問題:

1.PHP-FPM一開始工作就異常終止了;
2.Ngxin根本沒有連接上fastcgi。

第一種可能直接就排除了,因?yàn)槌霈F(xiàn)502錯(cuò)誤的時(shí)候,后臺(tái)的PHP-FPM進(jìn)程并沒有退出,還存活得好好的。
那么很可能是第二種可能了,我把Nginx和PHP-FPM的配置文件修改了一下,改成了傳統(tǒng)的“地址:端口”的形式

PHP-FPM配置文件中:

listen = 127.0.0.1:1234

Nginx配置文件中:

fastcgi_pass 127.0.0.1:1234

重啟服務(wù),網(wǎng)站竟然順利打開了。

看來就是Nginx沒有連接上PHP-FPM了,那么問題出在哪里呢?難道5.3.29去掉了Unix socket的連接方式?我覺得不大可能,查閱更新日志,也沒有看到有關(guān)的項(xiàng)目啊。

我將Nginx和PHP-FPM的配置文件改回去。
PHP-FPM配置文件中:
listen = /tmp/php-cgi.sock
Nginx配置文件中:
fastcgi_pass unix:/tmp/php-cgi.sock;
重啟服務(wù),立馬又502了。

首先想到了檢查權(quán)限,反正是測(cè)試,所以我二話不說直接把那個(gè)PHP-FPM的sock文件權(quán)限改為777。
chmod 777 /tmp/php-cgi.sock
直接打開網(wǎng)頁(yè),能打開!

好吧,就是權(quán)限問題了,重啟服務(wù),查看php-cgi.sock 的權(quán)限

-rwx------. 1 root root 663 9月 18 00:16 php-cgi.sock
這。。。原因已經(jīng)很明了了,怪不得Nginx連不上PHP-FPM,php-cgi.sock的權(quán)限竟然是700,
但問題來了,為什么同樣的編譯和配置過程,5.3.28之前的版本就沒問題呢?我查看另一臺(tái)沒有升級(jí)5.3.29的服務(wù)器:
srw-rw-rw- 1 root root 0 9月 16 21:11 php-cgi.sock
發(fā)現(xiàn)其權(quán)限是666,這……無法理解了……為什么5.3.28的默認(rèn)權(quán)限配置是666,到了5.3.29就變成700了呢?
查閱PHP文檔,找到解決辦法

將PHP-FPM里的配置文件加入,前兩項(xiàng)是指定php-cgi.sock的擁有者和用戶組,后一項(xiàng)是指定文件權(quán)限。
listen.owner = www
listen.group = www
listen.mode = 0666
重啟服務(wù),問題解決。

相關(guān)文章

  • PHP數(shù)組相加操作及與array_merge的區(qū)別淺析

    PHP數(shù)組相加操作及與array_merge的區(qū)別淺析

    這篇文章主要給大家介紹了關(guān)于PHP數(shù)組相加操作以及與array_merge的區(qū)別,文中通過示例介紹的很詳細(xì),感興趣的朋友們可以參考學(xué)習(xí),有需要的下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • PHP與MySQL開發(fā)的8個(gè)技巧小結(jié)

    PHP與MySQL開發(fā)的8個(gè)技巧小結(jié)

    LAMP 架構(gòu)的網(wǎng)站,我以前注重的多是安裝/配置方面的,講述開發(fā)的相對(duì)較少,因?yàn)樽约簭氖麻_發(fā)也少??戳艘院?,頗有啟發(fā),以前開發(fā)中遇到的一些問題,迎刃而解。所以翻譯出來和大家共享。
    2010-12-12
  • php中JSON的使用方法

    php中JSON的使用方法

    json常用來作為數(shù)據(jù)交換的一種格式,和xml相比體積更小。缺點(diǎn)就是層級(jí)關(guān)系不明顯不大容易被理解。php中生成json要借助array和json_encode,json_decode一起使用。越復(fù)雜的json嵌套的數(shù)組越多,下面我們來仔細(xì)探討下這個(gè)問題。
    2015-04-04
  • PHP創(chuàng)建word文檔的方法(平臺(tái)無關(guān))

    PHP創(chuàng)建word文檔的方法(平臺(tái)無關(guān))

    這篇文章主要介紹了PHP創(chuàng)建word文檔的方法,結(jié)合實(shí)例形式分析了與平臺(tái)無關(guān)的生成word文檔的方法,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2016-03-03
  • WordPress中用于創(chuàng)建以及獲取側(cè)邊欄的PHP函數(shù)講解

    WordPress中用于創(chuàng)建以及獲取側(cè)邊欄的PHP函數(shù)講解

    這篇文章主要介紹了WordPress中用于創(chuàng)建以及獲取側(cè)邊欄的PHP函數(shù)講解,分別為register_sidebar()函數(shù)和get_sidebar()的使用,需要的朋友可以參考下
    2015-12-12
  • PHP ajax 異步執(zhí)行不等待執(zhí)行結(jié)果的處理方法

    PHP ajax 異步執(zhí)行不等待執(zhí)行結(jié)果的處理方法

    這篇文章主要介紹了PHP ajax 異步執(zhí)行不等待執(zhí)行結(jié)果的處理方法,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • 學(xué)習(xí)thinkphp5.0驗(yàn)證類使用方法

    學(xué)習(xí)thinkphp5.0驗(yàn)證類使用方法

    這篇文章主要介紹了thinkphp5.0驗(yàn)證類的簡(jiǎn)單有效的使用方法,一起學(xué)習(xí)下。
    2017-11-11
  • php中文驗(yàn)證碼實(shí)現(xiàn)方法

    php中文驗(yàn)證碼實(shí)現(xiàn)方法

    這篇文章主要介紹了php中文驗(yàn)證碼實(shí)現(xiàn)方法,涉及php中文字體及字符串操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • PHP接入Apple對(duì)access_token/identityToken進(jìn)行JWT驗(yàn)證流程詳解

    PHP接入Apple對(duì)access_token/identityToken進(jìn)行JWT驗(yàn)證流程詳解

    JWT(JSON Web Token)是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn)。本文將為大家介紹PHP如何實(shí)現(xiàn)JWT登錄鑒權(quán),需要的可以參考一下
    2022-09-09
  • 深入理解PHP的遠(yuǎn)程多會(huì)話調(diào)試

    深入理解PHP的遠(yuǎn)程多會(huì)話調(diào)試

    這篇文章主要給大家介紹了關(guān)于PHP遠(yuǎn)程多會(huì)話調(diào)試的相關(guān)資料,文中通過示例代碼以及圖片介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09

最新評(píng)論

平谷区| 若尔盖县| 赤壁市| 马边| 克山县| 库车县| 忻城县| 海宁市| 兴安盟| 东平县| 辉南县| 鄂州市| 健康| 诸城市| 乡城县| 包头市| 江西省| 南郑县| 涿州市| 锡林郭勒盟| 岚皋县| 北辰区| 哈密市| 酒泉市| 维西| 普兰店市| 土默特左旗| 乌兰浩特市| 武城县| 双城市| 咸阳市| 崇州市| 阳泉市| 白银市| 册亨县| 湖北省| 泽普县| 江源县| 建始县| 新平| 正蓝旗|