yii 프로젝트 배포 시 502 오류가 발생하면 어떻게 해야 하나요?
nginx가 yii2 프로젝트를 배포할 때 502 잘못된 게이트웨이 오류 문제를 해결했던 것을 기억하세요
토요일에 할 일이 없어서 yii2를 설치하고 배포하려고 했으나 설치 과정에서는 문제가 없었습니다. nginx에 배포할 때 502 오류가 발생했습니다. 잘못된 게이트웨이 문제를 해결하는 데 오랜 시간이 걸렸습니다. 이 문제는 이전에 yii2를 배포할 때 겪어보지 못한 문제이므로 참고용으로 여기에 기록해 둡니다.
관련 기사 튜토리얼 권장 사항: yii 튜토리얼
1, 설치 및 배포 환경
운영 체제: macOS, php 버전: 5.6, nginx 버전: 1.10.1, yii2 버전: 2.0.
2, yii2 설치
yii2 설치는 매우 간단합니다. 공식 홈페이지의 매뉴얼을 참고하시면 됩니다. 여기에 설치한 것은 yii2-app-advanced(Yii 2 Advanced Project Template)입니다. 프로젝트 주소는 github에 있습니다. 이에 대해서는 단계별로 설명하지 않겠습니다.
3. nginx에 yii2 배포
실제로 yii2-app-advanced 프로젝트의 README에는 nginx에 배포하는 방법이 매우 명확하게 나와 있습니다. 하지만 배포하는 동안 게으른 나머지 README에서 nginx 배포 매개변수를 직접 사용하여 502 잘못된 게이트웨이 오류가 발생했습니다.
HTTP 상태 코드에서 5로 시작하는 응답 코드는 모두 서버 측에서 발생하므로 nginx 로그를 살펴보세요.
오류 로그:
업스트림 보기: "fastcgi: //127.0 .0.1: 9090" 여기서 포트가 잘못된 것 같아서 가상 호스트 구성을 확인했습니다.
그런 다음 php-fpm 구성을 살펴보았습니다.
물론이죠. nginx 가상 호스트가 지정한 FastCGI 서버입니다. 수신 포트가 잘못되어 nginx가 FastCGI 서버로부터 응답을 받지 못하게 됩니다. 따라서 브라우저가 요청하면 nginx는 502 상태 코드를 브라우저에 반환하여 업스트림 FastCGI 서버가 응답하지 않았음을 브라우저에 알립니다.
4, 솔루션
nginx 가상 호스트에서 fastcgi_pass에 지정된 포트를 올바르게 수정하면 이 오류가 해결됩니다.
5, summary
(1) HTTP 상태 코드 5로 시작하는 오류는 서버 측에서 발생하고, 502 잘못된 게이트웨이는 서버(웹 서버)가 게이트웨이 또는 프록시로 작동하여 요청을 실행하려고 시도함으로써 발생합니다. 업스트림 서버(fastcgi 서버)가 잘못된 응답을 받았습니다.
(2) fastcgi_pass는 ngx_http_fastcgi_module 모듈의 구성 지시문으로 fastcgi 서버의 주소를 지정합니다. nginx 문서에 설명은 다음과 같습니다.
Syntax: fastcgi_pass address; Default: — Context: location, if in location Sets the address of a FastCGI server. The address can be specified as a domain name or IP address, and a port: fastcgi_pass localhost:9000; or as a UNIX-domain socket path: fastcgi_pass unix:/tmp/fastcgi.socket; If a domain name resolves to several addresses, all of them will be used in a round-robin fashion. In addition, an address can be specified as a server group.
위 내용은 yii 프로젝트 배포 시 502 오류가 발생하면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!