Ubuntu 14.04 nginx 502 bad getaway 처리 및 최적화
sudo vi /etc/nginx/sites-available/default
2015/01/15 23:36:50 [error] 1924#0: *27095 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: xxx.xxx.xxx.xxx,...
이런 잘못된 소식 은 수백 줄 이 있다.PHP - fpm. sock 에 연결 하 는 데 실 패 했 기 때문이다.이 자원 (PHP - fpm. sock) 은 당분간 사용 할 수 없다 고 합 니 다.이것 은 그것 이 갈수 록 높 은 부하 라 는 것 을 의미한다.높 은 부하 상황 에서 의 문 제 는 잘 알려 져 있다.
해결 방안
TCP / IP 비용 이 없 는 직접 네트워크 접속 을 제공 하기 때문에 유 닉 스 소켓 을 사용 하 는 것 이 조금 빠 릅 니 다.불리 한 점 은 TCP / IP 처럼 신축 할 수 있 는 것 이 아 닙 니 다.sockets 가 얼마 남지 않 은 Nginx 는 502 오 류 를 일 으 킬 것 입 니 다.이 경우 더 큰 연결 탱크 에 적응 하거나 TCP / IP 로 전환 하기 위해 운영 체제 설정 을 조정 할 수 있 습 니 다.
2. php 5 + nginx: 유 닉 스 소켓 에서 TCP / IP 로 전환
1. PHP - FPM 풀 설정 파일 열기:
sudo vi /etc/php5/fpm/pool.d/www.conf
2. 다음 줄 을 검색 하고 설명 을 취소 합 니 다.
listen.backlog = 65536
3. 현재 아래 줄 을 검색
listen = /var/run/php5-fpm.sock
다음 과 같이 바 꿉 니 다.
listen = 127.0.0.1:9000
4. 변 경 된 php - fpm 의 현재 완료.그래도 해 야 할 Nginx 가상 호스트 설정 입 니 다.가상 호스트 파일 열기 다음 명령
sudo vi /etc/nginx/sites-available/default
아래 줄 을 찾 아 라.
fastcgi_pass unix:/var/run/php5-fpm.sock;
다음 과 같이 바 꿉 니 다.
fastcgi_pass 127.0.0.1:9000;
5. 현재 php 5 - fpm 와 nginx 를 다시 시작 합 니 다.
sudo service php5-fpm restart
sudo service nginx restart
참고:https://tjosm.com/4056/fix-nginx-502-bad-getaway-error-ubuntu/ https://tjosm.com/4068/switch-tcpip-from-unix-socket-nginx/
3. 마지막 으로 아래 에 있 는 리 눅 스 의 sysctl value 를 잊 지 마 세 요.
1. sysctl. conf 편집 열기
sudo vi /etc/sysctl.conf
다음 설정 코드 를 추가 하여 sysctl. conf 파일 아래쪽 에 추가 합 니 다.
vm.dirty_background_ratio = 2
### GENERAL NETWORK SECURITY OPTIONS ###
# Number of times SYNACKs for passive TCP connection.
net.ipv4.tcp_synack_retries = 2
# Allowed local port range
net.ipv4.ip_local_port_range = 2000 65535
# Protect Against TCP Time-Wait
net.ipv4.tcp_rfc1337 = 1
# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15
# Decrease the time default value for connections to keep alive
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
### TUNING NETWORK PERFORMANCE ###
# Default Socket Receive Buffer
net.core.rmem_default = 31457280
# Maximum Socket Receive Buffer
net.core.rmem_max = 12582912
# Default Socket Send Buffer
net.core.wmem_default = 31457280
# Maximum Socket Send Buffer
net.core.wmem_max = 12582912
# Increase number of incoming connections
net.core.somaxconn = 4096
# Increase number of incoming connections backlog
net.core.netdev_max_backlog = 65536
# Increase the maximum amount of option memory buffers
net.core.optmem_max = 25165824
# Increase the maximum total buffer-space allocatable
# This is measured in units of pages (4096 bytes)
net.ipv4.tcp_mem = 65536 131072 262144
net.ipv4.udp_mem = 65536 131072 262144
# Increase the read-buffer space allocatable
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.udp_rmem_min = 16384
# Increase the write-buffer-space allocatable
net.ipv4.tcp_wmem = 8192 65536 16777216
net.ipv4.udp_wmem_min = 16384
# Increase the tcp-time-wait buckets pool size to prevent simple DOS attacks
net.ipv4.tcp_max_tw_buckets = 1440000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
2. 아래 명령 을 실행 하여 sysctl 에 대한 변경 사항 을 불 러 옵 니 다.
sysctl -p
참고:https://easyengine.io/tutorials/php/fpm-sysctl-tweaking/ https://easyengine.io/tutorials/linux/sysctl-conf/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.