『壹』 php-fpm 正常啟動,nginx也正常啟動,但是為什麼訪問PHP是502
我覺得應該是sybase_connect連上資料庫。
語法: int sybase_connect(string [servername], string [username], string [password]);
返回值: 整數函數種類: 資料庫功能 本函數用來打開與 Sybase 資料庫的連接。
參數 servername 為欲連上的資料庫伺服器名稱。
參數 username 及 password 可省略,分別為連接使用的帳號及密碼。
使用本函數需注意早點關閉資料庫,以減少系統的負擔。
連接成功則返回資料庫的連接代號,失敗返回 false 值。
您試試在將地址後面加了一個?a=1。如果還有不懂的可以去後盾人找找相關的教學視頻看看,多看看不就懂得懂了,希望對你有用,給個採納吧,謝謝
『貳』 php-fpm 正常啟動,nginx也正常啟動,但是為什麼訪問PHP是502
有很多原因,看看nginx的錯誤日誌。
『叄』 502 Bad Gateway的可能原因,及解決方法
一:可能的原因是php-fpm未開啟,查看php-fpm狀態,若未開啟,開啟後重試
開啟php-fpm,查看狀態
systemctl start php73-php-fpm
systemctl status php73-php-fpm
重新打開網頁
第二次遇到502
第二次遇到502,上面的方法試了,但是問題沒有解決
感覺有可能是配置問題,最終參照 https://blog.csdn.net/ucmir183/article/details/80240112 的解決方法,解決了
我的配置裡面是這樣的
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
輸入命令 netstat -tlnp | grep 9000 並沒有監聽9000的程序
Nginx和PHP-FPM的進程間通信有兩種方式,一種是TCP,一種是UNIX Domain Socket.
其中TCP是IP加埠,可以跨伺服器.而UNIX Domain Socket不經過網路,只能用於Nginx跟PHP-FPM都在同一伺服器的場景.用哪種取決於你的PHP-FPM配置:
方式1:
php-fpm.conf: listen = 127.0.0.1:9000
nginx.conf: fastcgi_pass 127.0.0.1:9000;
方式2:
php-fpm.conf: listen = /tmp/php-fpm.sock
nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;
在配置文件中看了一下,發現初始化時就有一個文件
查閱了自己以前的配置,以前使用php7.2與php7.3時是沒有這個文件的
於是把這個文件刪除是了一下,重啟nginx報錯
好奇心驅使,進入文件看了一下
於是進入自己配置的文件中,修改
重啟nginx伺服器,問題解決
參考地址:https://blog.csdn.net/ucmir183/article/details/80240112
『肆』 網站502是怎麼回事,該怎樣解決
什麼原因導致502錯誤?
1:php-cgi進程數不夠用 (我就是採用此方法解決的)
vim php-fpm.conf
修改其中的2個參數
(1)在安裝好使用過程中出現502問題,一般是因為默認php-cgi進程是5個,可能因為phpcgi進程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加
這個數值是不確定的 需要我們自己算的,這個值原則上是越大越好,php-cgi的進程多了就會處理的很快,排隊的請求就會很少,減小出現502錯誤的機率。
一般來說,一台伺服器的正常情況下每一個php-cgi要耗費的內存為20M左右。如果我就將此值設為80,那麼也就是說大概要耗費伺服器1600M內存。
查看一下當前系統中有多少個php-cgi進程在運行
netstat -anpo | grep php-cgi | wc -l
如果這個值接近你的在配置文件裡面設置的值,說明需要增加
註:這要根據機器的實際情況而定,每個機器的硬體設施和環境不一樣
參數為:<value name=」max_children」>80</value>
(2)另外一個參數就是php-cgi腳本的執行時間
<value name=」request_terminate_timeout」>0s</value>這里寫0s的意思是讓php-cgi一直執行下去,沒有時間限制。
注意:如果你做不到這一點,也就 是說你的PHP-CGI可能出現某個BUG,或者你的寬頻不夠充足或者其他的原因導致你的PHP-CGI假死那麼就建議你給 request_terminate_timeout賦一個值,這個值可以根據伺服器的性能進行設定。一般來說性能越好你可以設置越高,20分鍾-30分 鍾都可以。
修改完這兩個參數,重啟一下php-cgi,看是否還出現502錯誤
2: php執行時間長
php執行超時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300
重啟一下php-cgi,看是否還出現502錯誤
3: php-cgi進程死掉
殺死其進程,重啟php-cgi
『伍』 遠程伺服器返回錯誤:(502)錯誤的網關 是什麼原因、
502錯誤原因分析:
1、這類錯誤常見於Nginx+PHP的Web架構,Nginx將請求提交給網關PHP-FPM執行,但是由於某些原因請求沒有執行完畢導致PHP-FPM進程終止執行。說到此,這個問題就很明了了,與網關服務如PHP-FPM的配置有關了。
2、php-fpm.conf配置文件中有兩個參數就需要你考慮到,分別是max_children和request_terminate_timeout。
3、max_children最大子進程數,在高並發請求下,達到php-fpm最大響應數,後續的請求就會出現502錯誤的。可以通過netstat命令來查看當前連接數。
4、request_terminate_timeout設置單個請求的超時終止時間。還應該注意到php.ini中的max_execution_time參數。當請求終止時,也會出現502錯誤的。
5、當積累了大量的php請求,你重啟php-fpm釋放資源,但一兩分鍾不到,502又再次呈現, 這時還應該考慮到資料庫,查看下資料庫進程是否有大量的locked進程,資料庫死鎖導致超時,前端終止了繼續請求,但是SQL語句還在等待釋放鎖,這時就要重啟資料庫服務了或kill掉死鎖SQL進程了。
6、所以在調整max_children和request_terminate_timeout、max_execution_time也需要考慮到伺服器資源使用情況及應用代碼sql執行效率情況,需要綜合衡量。502 Bad Gateway:伺服器作為網關或者代理時,為了完成請求訪問下一個伺服器,但該伺服器返回了非法的應答。 亦說Web伺服器用作網關或代理伺服器時收到了無效響應。
『陸』 apach php 502 bad gateway怎麼解決
目前lnmp一鍵安裝包比較多的問題就是502 Bad Gateway,大部分情況下原因是在安裝php前,腳本中某些lib包可能沒有安裝上,造成php沒有編譯安裝成功。
解決辦法:可以嘗試根據lnmp一鍵安裝包中的腳本手動安裝一下,看看是什麼錯誤導致的。
在php.ini里,eaccelerator配置項一定要放在Zend Optimizer配置之前,否則也可能引起502 Bad Gateway
在安裝好使用過程中出現502問題,一般是因為默認php-cgi進程是5個,可能因為phpcgi進程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加。
php執行超時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300
磁碟空間不足,如mysql日誌佔用大量空間
查看php-cgi進程是否在運行
Nginx 502 Bad Gateway的含義是請求的PHP-CGI已經執行,但是由於某種原因(一般是讀取資源的問題)沒有執行完畢而導致PHP-CGI進程終止,一般來說Nginx 502 Bad Gateway和php-fpm.conf的設置有關。
php-fpm.conf有兩個至關重要的參數,一個是max_children,另一個是request_terminate_timeout,但是這個值不是通用的,而是需要自己計算的。
在安裝好使用過程中出現502問題,一般是因為默認php-cgi進程是5個,可能因為phpcgi進程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加。 有空的話你也可以去後盾人看看php基礎教學視頻看看,也是不錯的選擇,希望能幫到你,給個採納吧謝謝(〃ノωノ)
『柒』 php-fpm 正常啟動,nginx也正常啟動,但是為什麼訪問PHP是502
502錯誤有很多成因,麻煩吧nginx日誌和php-fpm日子貼出來看看
『捌』 nginx+php最近總是出現502,然後重啟php-fpm就沒事了,這是什麼原因
用curl獲取HTTP頭,發現502狀態碼就執行重啟php-fpm的命令。
url和cmd根據實際情況改成自己的。然後放到crontab里一分鍾執行一次。
『玖』 運行php文件出現502 bad gateway 怎麼解決
確認php-fpm進程正常,然後從運行環境入手,調整超時和緩沖區大小配置。
例如一個 iptables + haproxy + nginx + php-fpm 運行環境,haproxy和nginx都可能觸發502,或許是你的php運行時間超出了haproxy或nginx的超時設置,或許是你的php輸出了大量的cookie數據等等。這個詳細的解答視頻我剛剛在後盾人看見了,專門針對你們的問題,還送價值兩千元的後盾人會員卡
『拾』 網站php訪問502 Bad Gateway請問php-fpm.conf如何配置
Nginx反向代理502
Bad
Gateway,
http://www.leixuesong.cn/archives/606
,可以看看這篇文章,講的很詳細啦,參考:PHP程序員,雷雪松的個人博客--www.leixuesong.cn。可以在網站底部加群一起交流下!