国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

詳解Nginx 502錯誤解決辦法

2024-08-30 12:22:36
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了詳解Nginx 502錯誤解決辦法的相關資料,這里說明幾種可能出現的502錯誤的實例,并一一說明如何解決,需要的朋友可以參考下

詳解Nginx 502錯誤解決辦法

1.配置錯誤

因為nginx找不到php-fpm了,所以報錯,一般是fastcgi_pass后面的路徑配置錯誤了,后面可以是socket或者是ip:port

2.資源耗盡

lnmp架構在處理php時,nginx直接調取后端的php-fpm服務,如果nginx的請求量偏高,我們又沒有給php-fpm配置足夠的子進程,那么php-fpm就會資源耗盡,一旦資源耗盡nginx找不到php-fpm就會出現502錯誤,

解決方案 去調整php-fpm.conf中的pm.max_children數值,使其增加,但是也不能無限增加,畢竟資源有限,一般4G內存機器如果跑php-fpm和nginx,不跑mysql可以設置為150,8G為300以此類推

3.除了上面的兩種錯誤還有其他的原因,很少有,我們可以借助nginx的錯誤日志來進行排查vim /usr/local/nginx/logs/nginx_error.log 我們也可以給日志定義級別vim/usr/local/nginx/conf/nginx.conf 找到error_log,默認是crit最嚴謹的就行,也可以改成debug顯示的信息最全面,但是很容易撐爆我們的磁盤

首先我們需要讓瀏覽器進行訪問 修改nginx的配置文件

[root@wqslinux ~]# vim/usr/local/nginx/conf/vhosts/111.confserver{  listen 80;  server_name www.111.com;    //域名地址  index index.html index.htm index.php;  root /data/www/;  location ~ /.php$ {    include fastcgi_params;    fastcgi_pass unix:/tmp/www.sock; //修改sock   #fastcgi_pass 127.0.0.1:9000;    fastcgi_index index.php;    fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;  }}

檢查語法是否正常

[root@wqslinux ~]#/usr/local/nginx/sbin/nginx -t

重新加載配置文件

[root@wqslinux ~]# /usr/local/nginx/sbin/nginx-s reload[root@wqslinux ~]# /etc/init.d/nginx reload

檢查nginx是那個用戶跑的

[root@wqslinux ~]# ps aux |grep nginx

編輯php-fpm文件 我們要在這個php-fpm文件里面設置nginx的用戶主,跟組這樣才不會顯示502

[root@wqslinux ~]# vim/usr/local/php/etc/php-fpm.conf[global]pid = /usr/local/php/var/run/php-fpm.piderror_log =/usr/local/php/var/log/php-fpm.log[www]listen = /tmp/www.sockuser = php-fpmgroup = php-fpmlisten.owner = nobody  //定義屬主listen.group = nobody  //定義屬組pm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files = 1024

配置完之后重啟php-fpm

[root@wqslinux ~]# /etc/init.d/php-fpm restart

ps: 再補充一個,是近期很多同學遇到的問題 這種情況下,使用的是socket,版本高于5.4(含5.4) 默認監(jiān)聽的socket文件權限是所有者只讀,屬組和其他用戶沒有任何權限。所以,nginx的啟動用戶(咱們配置的是nobody)就沒有辦法去讀這個socket文件,最終導致502,這個問題可以在nginx的錯誤日志中發(fā)現。解決辦法很簡單,上面給出的配置文件中就有避免這個問題的配置。

listen.owner = nobody  //定義屬主listen.group = nobody  //定義屬組

這兩個配置就是定義socket的屬主和屬組是誰。除了這個還有一種方法

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 福贡县| 彭泽县| 祁东县| 旬阳县| 云安县| 抚顺市| 桦南县| 江阴市| 神木县| 广饶县| 祥云县| 天祝| 西乌珠穆沁旗| 北京市| 淮北市| 阜阳市| 金坛市| 靖州| 临汾市| 曲靖市| 莱西市| 青浦区| 彩票| 平湖市| 额尔古纳市| 龙岩市| 岢岚县| 乡宁县| 南陵县| 内黄县| 乌审旗| 长宁区| 盱眙县| 郯城县| 通辽市| 十堰市| 周口市| 贡山| 灵宝市| 红原县| 玉门市|