1 먼저 두 서버 블록은 다음과 같이 구성됩니다.
server { listen 80; server_name hanmk.com; location / { root /tmp/data/; autoindex on; } } server { listen 80 default_server; server_name demo.com ; location / { # tomcat首页 proxy_pass http://localhost:8080; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location /jenkins { #tomcat部署jenkins proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; #获取真实ip proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取代理者的真实ip proxy_redirect off; } location /ApprPhD { #nodeJs服务器 proxy_pass http://192.168.XXX.XXX:3030; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; #获取真实ip proxy_set_header REMOTE-HOST $remote_addr; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取代理者的真实ip proxy_redirect off; } }
설명:
첫 번째 서버에서 서비스를 server/tmp/data로 지정합니다. / path Static files;
두 번째 서버에서 서비스는 세 개의 라우팅 가상 머신을 가리킵니다(한 경로는 가상 머신에 로컬로 배포된 Tomcat 홈페이지를 가리키고, 다른 경로는 Tomcat에 배포된 Jenkins를 가리킵니다. 하나는 가상 머신에 배포된 다른 응용 프로그램을 가리킵니다)
두 서버 모두에 구성된 수신 포트는 80입니다(또한 테스트 결과를 더 잘 보기 위해)
server_name 지정됨(가상 호스트) 서버 이름은 일반적으로 도메인 이름(example.org, www.example.org)으로 구성되며 정확한 이름, 와일드카드 이름 또는 정규 표현식을 사용하여 정의할 수 있습니다. 외부 네트워크에서 요청 링크에 액세스하면 nginx는 입력한 호스트 이름을 사용하여 server1 또는 server2로 전달되는지 일치)
또한 테스트 결과를 더 잘 보기 위해 실제 도메인 이름을 입력하는 대신 server_name에 도메인 이름을 입력했습니다. 가상 머신의 ip 또는 localhost (ip 주소가 가상 머신 IP이기 때문에 IP 주소를 입력하면 nginx가 어떻게 요청을 전달하는지 알 수 없습니다) (또한 서버가 하나만 있는 경우에는 server_name을 입력해야 합니다. 결국 서버 아래의 서버로 전달되기 때문입니다. 포트가 정확하면 성공적으로 전달될 수 있습니다. )#🎜🎜 #
server1에 server_name 입력 hanmk.comserver2에 server_name 입력 🎜🎜#
위 구성을 완료한 후 nginx.conf 구성 파일을 다시 로드해야 합니다2. 클라이언트의 호스트 파일을 구성합니다. 첫 번째 단계에서는 각각 hanmk.com과 deco.com이 server_name에 구성되어 있지만 도메인 이름 서비스가 활성화되지 않았기 때문에 이 두 도메인을 사용합니다. 클라이언트에서 직접 이름을 지정하여 요청을 보내는 것은 실패하므로 이 두 개의 가짜 도메인 이름을 정상적으로 사용할 수 있으려면 먼저 클라이언트 호스트에서 이를 구성해야 합니다.
hosts 파일을 열고 다음 두 줄을 추가합니다(IP 주소가 매핑되어 있으므로 동일하므로 두 도메인 이름을 한 줄에 로 구분하여 추가하면 됩니다). 공백)
3. Test
( 1) http://hanmk.com/을 사용하여 요청을 보내고 virtual machine/tmp/data/경로 아래의 정적 파일에 액세스합니다. (2) http://demo.com/을 방문합니다. http: //demo.com/jenkins, http://demo.com/ApprPhD/index 각각 결과는 다음과 같습니다
에서는 nginx가 접속 링크의 도메인 이름을 기준으로 해당 서버를 매칭한 후 위치 경로를 기준으로 해당 서비스로 라우팅한다고 설명합니다# 🎜🎜#
위 내용은 nginx가 요청을 처리하는 방법에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!