전체 스택 Nginx 역방향 프록시 서버 (제목에서 알 수 있듯이)를 설정하려고하는데 PHP 기반의 코드 해석을 사용할 때 약간의 어려움을 겪고 있습니다. FPM.전체 스택 Nginx 역방향 프록시 및 PHP 인덱스
server {
listen xxx.xxx.xxx.xxx:80;
server_name localhost;
# logs...
# Here begins the reverse-proxying
# Test 2nd backend server
location /test {
proxy_pass http://127.0.0.1:82/;
}
# default main site (has to be at the end since location checks file hierarchy)
location/{
proxy_pass http://127.0.0.1:81/;
}
그리고 다음은
는 (직접 파일을 제공하는 데 사용되지 않고 백 엔드 서버쪽으로 클라이언트를 리디렉션 할 수 있음) 프록시 프로세스의 소위 프론트 엔드 부분입니다 그렇다면 여기에 반전 된 두 개의 서버 블록이 있습니다. 첫 번째 접근 domain.com에서 기본적으로 제공해야하는 주요 사이트입니다 :server {
listen 127.0.0.1:81;
server_name main;
# logs...
root /var/www/main;
gzip on;
gzip_types "*";
expires 10m;
location/{
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm.socket;
include /etc/nginx/fastcgi.conf;
}
}
을 그리고 여기 domain.com/test하려고 할 때 액세스해야되는 두 번째 "테스트"하나입니다 : 어느 날 실제로 하나 개의 포트를 사용할 수 있도록 할 리버스 프록시를 사용하여 이렇게
server {
listen 127.0.0.1:82;
server_name test;
root /var/www/test;
gzip on;
gzip_types "*";
expires 10m;
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm.socket;
include /etc/nginx/fastcgi.conf;
}
}
, 그리고 가장 중요한, 그것은 가상 서버가 실제로 여기에 실행중인 얼마나 숨 깁니다.
그래서 문제가 무엇입니까? 글쎄, 더 많은 방법에 대해 PHP와 인덱스 nginx 역방향 프록시가 역방향 프록시 자체에 대한보다 관리되고 있습니다.
index.html 파일을 81 : 82 서버에서 사용할 때 제대로 작동하고 인덱스 지시문이 완벽하게 작동하며 도메인에 액세스 할 때 서버에서 /var/www/main/index.html을 반환합니다. com 및 /var/www/test/index.html을 방문하십시오.
그러나 index.php 파일을 사용할 때 문제가 발생합니다. 이 경우, 위의 URL 만 사용하면 두 경우 모두 404 오류가 발생합니다. 명시 적으로 URL에 index.php를 지정해야합니다 (예 : domain.com/test/index.php를 사용하면 효과가 있습니다.
그런 특정 사례를 다루는 스레드 나 문서를 찾지 못했습니다. 그래서 PHP에서 인덱스 동작에 대한 정보가 더 많은지 묻기 위해 여기에와 있습니다.
답장을 보내 주셔서 감사 드리며,이 문제로 오랜 시간 애써 왔기 때문에 지금까지 가지고 계신 모든 것을 기꺼이 가져 가겠습니다.
나는 분명히 잘못 넣어 잊었지만 나는 그것을했다 : 81 서버 블록, 그것은 작동하지 않을 것입니다. 위치/{} 블록에 넣으려고했는데 작동하지 않습니다 ... 저는 이것에 대해 조금 혼란 스럽습니다. 편집 : 실제로 "frontend"서버의 위치/{}를 포함하여 작동시키지 않고 많은 장소에 넣으려고했습니다. –