실험 환경: Windows XP SP3
Nginx 버전: 1.5.12;
다운로드 주소: http://nginx.org/en/download.html
톰캣 버전: 6.0.39
다운로드 주소: http://tomcat.apache.org/download-60.cgi
1. nginx 구성
1. D 드라이브의 루트 디렉터리에 nginx 폴더를 생성하고 다운로드한 nginx 릴리스 패키지 nginx-1.5.12.zip을 이 디렉터리에 추출합니다.
2. D:nginxnginx-1.5.12 디렉토리 구조
Nginx-
~
>
|_ docs 문서 디렉토리
|_ 로그 로그 디렉터리
~ |
|
3. nginx 시작
Windows에서 nginx를 시작하는 것은 매우 간단합니다. nginx.exe를 실행하려면 두 번 클릭하기만 하면 됩니다. Nginx는 기본적으로 포트 80에서 실행됩니다. nginx가 시작되었는지 확인하려면 브라우저에 http://localhost만 입력하면 nginx가 시작되었음을 나타내는 다음 페이지가 표시됩니다.
1. nginx 중지
nginx를 중지하려면 명령줄 창을 열고 nginx의 압축이 풀린 디렉터리, 즉 nginx.exe 파일이 있는 디렉터리를 입력하고 nginx –s stop 명령을 입력하여 nginx를 중지해야 합니다. .
2. 클러스터 구성
1. 톰캣 구성
D 드라이브의 루트 디렉터리에 tomcat 폴더를 만들고 tomcat6.0.39 릴리스 패키지의 두 복사본을 이 디렉터리에 압축을 풀어 각각 이름을 tomcat01 및 tomcat02로 지정합니다. 우리가 액세스하고 있는 tomcat을 쉽게 관찰하기 위해 tomcat01의 D:tomcattomcat01webappsROOTindex.html을 수정합니다.
[html] 보기
일반 사본
-
<td 정렬="왼쪽" valign="top"><b>아파치 톰캣b>td>
이 으로 변경되었습니다.
[html] 보기
일반 사본
-
<td 정렬="왼쪽" valign="top"><b>Apache Tomcat 1b>td>
마찬가지로 에 tomcat02의 D:tomcattomcat02webappsROOTindex.html을 넣습니다.
[html] 보기
일반 사본
-
<td 정렬="왼쪽" valign="top"><b>아파치 톰캣b>td>
이 으로 변경되었습니다.
[html] 보기
일반 사본
-
<td 정렬="왼쪽" valign="top"><b>Apache Tomcat 2b>td>
동일한 컴퓨터에 두 개의 Tomcat이 있습니다. 두 Tomcat의 포트가 충돌하는 것을 방지하기 위해 tomcat02의 D:tomcattomcat02confserver.xml을 넣습니다.
[html] 보기
일반 사본
-
<서버 포트="8005" 종료="종료">
이 으로 변경되었습니다.
[html] 보기
일반 사본
-
<서버 포트="8105" 종료="종료">
[html] 보기
일반 사본
-
<커넥터 포트="8080" 프로토콜="HTTP/1.1"
-
이 으로 변경되었습니다.
[html] 보기
일반 사본-
-
<커넥터 포트="8180" 프로토콜="HTTP/1.1"
-
connectionTimeout="20000"
-
redirectPort="8543" />
-
<커넥터 포트="8009" 프로토콜="AJP/1.3" redirectPort="8443" />
改为
[html] 보기
일반 사본
-
<커넥터 포트="8109" 프로토콜="AJP/1.3" redirectPort="8543" />
[html] 보기
일반 사본
-
2、 配置nginx
nginx.conf
[html] 보기
일반 사본
-
#Nginx에서 사용하는 사용자 및 그룹, 창에 지정되지 않음
-
#사용자 niumd niumd
-
-
#작업 중인 하위 프로세스 수(보통 CPU 수와 같거나 CPU의 2배)
-
worker_processes 2
-
-
#오류로그 저장 경로
-
#error_log 로그/error.log
-
#error_log 로그/error.log 공지
-
#error_log 로그/error.log 정보
-
-
#파일을 저장할 pid 지정
-
#pid 로그/nginx.pid
-
-
-
이벤트 {
-
#네트워크 IO 모델을 사용할 경우 Linux에서는 epoll, FreeBSD에서는 kqueue를 권장하며 window에는 지정하지 않습니다.
-
#epoll 사용
-
-
#허용되는 최대 연결 수
-
작업자 연결 1024
-
}
-
-
-
http {
-
mime.types 포함
-
default_type 애플리케이션/옥텟 스트림
-
-
#로그 형식 정의
-
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
-
'$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"'
-
- access_log 로그/access.log 메인
-
- client_header_timeout 3분
- client_body_timeout 3분
- send_timeout 3분
-
- client_header_buffer_size 1k
- Large_client_header_buffers 4 4k;
-
-
파일 보내기 -
tcp_nopush 켜기 -
tcp_nodelay 켜짐 -
-
#keepalive_timeout 0 -
keepalive_timeout 65 -
-
#gzip -
-
업스트림 로컬 호스트 { -
#IP 계산을 기반으로 각 백엔드 tomcat에 요청을 할당합니다. 많은 사람들이 세션 문제를 해결할 수 있다고 잘못 생각하지만 그렇지 않습니다.
-
#
- ip_hash
- 서버 로컬호스트:8080
- 서버 로컬 호스트:8180
-
-
-
서버 { -
들어보세요 -
서버이름 로컬호스트 -
-
-
-
#access_log 로그/host.access.log 메인
-
-
위치 / {
-
Proxy_connect_timeout 3
-
Proxy_send_timeout 30
-
Proxy_read_timeout 30
-
프록시_패스 http://localhost
-
}
-
-
#error_page 404 /404.html
-
-
# 서버 오류 페이지를 정적 페이지 /50x.html로 리디렉션
-
#
-
error_page 500 502 503 504 /50x.html
-
위치
- = /50x.html {
루트 HTML
-
}
-
-
}
-
}
-
3. 역방향 프록시 구성 결과 보기
nginx, tomcat01, tomcat02를 시작합니다.
브라우저에 http://localhost를 입력하면 아래와 같이 tomcat01의 관리 인터페이스가 표시됩니다.
그런 다음 tomcat02를 투명하게 중지하고 페이지를 새로 고치면 아래와 같이 nginx가 자동으로 tomcat02로 전환됩니다.
위 내용은 다양한 측면을 포함하여 Nginx+tomcat 클러스터 환경 구축에 대해 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.