>  기사  >  백엔드 개발  >  프록시를 사용하여 nginx 별칭이 PHP를 실행할 수 없는 문제 및 기타 fastcgi 문제를 해결하세요.

프록시를 사용하여 nginx 별칭이 PHP를 실행할 수 없는 문제 및 기타 fastcgi 문제를 해결하세요.

WBOY
WBOY원래의
2016-08-08 09:22:171276검색
nginx의 별칭은 정적 파일만 제공하는 것으로 보입니다. PHP와 같은 FastCGI의 경우 일반적으로 404 오류가 발생합니다.
인터넷에는 이미 다음과 같은 몇 가지 솔루션이 있습니다. http://u.odo.com.cn/space-2-do-blog-id - 3087.html 이 설정은 루트 디렉터리에 프로그램이 없거나 다시 작성할 필요가 없는 등 응용 프로그램이 비교적 간단한 경우에 실제로 적용 가능합니다.
실제 애플리케이션에서는 상대적으로 더 복잡한 구성이 필요한 경우가 많습니다. 예를 들어 인기 있는 단일 입력 프로그램은 존재하지 않는 파일 액세스를 index.php에 넘겨야 하며 이로 인해 충돌이 발생하고 액세스 오류. 또한 이러한 구성은 향후 확장 시 유지 관리 위험을 초래합니다.
저도 최근에 이 문제에 직면했습니다. Google을 검색했지만 적절한 답변을 찾을 수 없었기 때문에 반대의 경우 가상 호스트를 여러 개로 나누는 것이 어떨까요? 디렉토리는 프록시 솔루션에 사용됩니다. 구성은 다음과 같습니다.

클립보드에 내용 복사

코드:
위치 ^~ /bbs {location ^~ /bbs {
alias /srv/www/bbs;
proxy_set_header Host bbs.xxx.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1;
}alias /srv/www/bbs;proxy_set_header 호스트 bbs.xxx.com;proxy_set_header X-Real-IP $remote_addr; Proxy_pass http:/ /127.0.0.1;
}위치의 ^~ 의미는 이 경로를 일치시킨 후 위치 /를 포함하여 다른 위치 구성을 무시한다는 것입니다. 다른 구성은 이에 영향을 미치지 않습니다.
이 시점에서 어떤 사람들은 너무 번거롭기 때문에 요청을 한 번 더 역방향 프록시하는 대신 가상 호스트를 사용하는 것이 어떨까요? ? AJAX, 자바스크립트, 쿠키 등이 도메인 간 상황에서 처리하기 쉽지 않거나 URL이 향후 호환되는 등 여러 가지 이유가 있을 수 있습니다.

위 내용은 관련 내용을 포함하여 nginx 별칭이 PHP를 실행할 수 없는 것과 같은 fastcgi 문제를 해결하기 위한 프록시 사용을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.