中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx中502錯誤怎么辦

發布時間:2021-07-13 15:25:42 來源:億速云 閱讀:180 作者:小新 欄目:服務器

小編給大家分享一下Nginx中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.conf

server
{
  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.pid
error_log =/usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/www.sock
user = php-fpm
group = php-fpm
listen.owner = nobody  //定義屬主
listen.group = nobody  //定義屬組
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

配置完之后重啟php-fpm

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

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

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

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

listen.mode = 777

這樣nobody也可以有讀取權限了。

以上是“Nginx中502錯誤怎么辦”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泾川县| 宁乡县| 汉川市| 凤山县| 南雄市| 泉州市| 达日县| 炎陵县| 平顺县| 贵阳市| 四子王旗| 行唐县| 上饶县| 班玛县| 黎城县| 布拖县| 石嘴山市| 肇州县| 湘潭县| 双流县| 科尔| 岳普湖县| 江都市| 黄浦区| 金华市| 巴里| 潜山县| 芦溪县| 铁岭县| 吉林省| 盐山县| 普安县| 福建省| 志丹县| 铜山县| 新晃| 栾川县| 博乐市| 麻栗坡县| 靖江市| 湖北省|