NGINX + PHP-FPM에서 502 BAD GATEWAY 에러 해결방법
방법1. nginx.conf 수정
location ~ \.php$ {
# With php7-fpm:
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 아래부터 버그 해결을 위해 추가해 주실 옵션입니다.
# 502 에러를 없애기 위한 proxy 버퍼 관련 설정입니다.
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
# 502 에러를 없애기 위한 fastcgi 버퍼 관련 설정입니다.
fastcgi_buffering on;
fastcgi_buffer_size 16k;
fastcgi_buffers 16 16k;
# 최대 timeout 설정입니다.
fastcgi_connect_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
# 이 아래 설정은 PHP 성능 향상을 위한 옵션입니다. 추가해 주시면 좋습니다.
sendfile on;
tcp_nopush off;
keepalive_requests 0;
방법 2. nginx의 설정 파일과 php-fpm 설정 파일의 소켓 일치시키기
– 간혹 nginx의 설정 안에서의 ‘fastcgi-pass’ 경로와, php-fpm 설정 파일의 listen 경로가 다른 경우, 502 Bad gateway 에러가 나타나는 경우가 있다고도 합니다. 이런 경우에는 PHP를 불러오는 대다수의 경우의 에러가 발생하는 경우가 많습니다.
– 먼저 nginx 설정 파일에서 PHP를 처리하는 부분의, fastcgi-pass 값을 확인하여 PHP-fpm sock 파일이 정상적으로 위치해 있는지 확인합니다. (없는 경우에는, sock 파일을 찾아서 적당한 경로로 입력해 주어야 합니다. 많은 경우에는 /var/ 디렉토리 안에서 php 관련 폴더 안에 위치하고 있습니다.)
방법3. php-fpm 설치 후 php-fpm을 실행하지 않은 경우
php-fpm 실행
'유닉스*리눅스*SE' 카테고리의 다른 글
리눅서 서버용량 체크 (df/du) (0) | 2019.09.20 |
---|---|
윈도우서버 IIS에서 apk 파일 다운로드 가능하도록 설정 (0) | 2019.09.20 |
리눅스 타임존 변경 (리눅스 시간변경) (0) | 2019.09.20 |
리눅스 FTP로 접속이 안될때 (0) | 2019.09.19 |
apache / nginx 에서 .php 생략하기 (0) | 2019.09.19 |