>  기사  >  백엔드 개발  >  Nginx+tomcat 클러스터 환경 구축

Nginx+tomcat 클러스터 환경 구축

WBOY
WBOY원래의
2016-08-08 09:26:501128검색

실험 환경: 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] 보기 일반 사본

  1. <td 정렬="왼쪽" valign="top"><b>아파치 톰캣b>td>
으로 변경되었습니다.

[html] 보기 일반 사본

  1. <td 정렬="왼쪽" valign="top"><b>Apache Tomcat 1b>td> 
마찬가지로 에 tomcat02의 D:tomcattomcat02webappsROOTindex.html을 넣습니다.

[html] 보기 일반 사본

  1. <td 정렬="왼쪽" valign="top"><b>아파치 톰캣b>td>
으로 변경되었습니다.

[html] 보기 일반 사본

  1. <td 정렬="왼쪽" valign="top"><b>Apache Tomcat 2b>td> 

동일한 컴퓨터에 두 개의 Tomcat이 있습니다. 두 Tomcat의 포트가 충돌하는 것을 방지하기 위해 tomcat02의 D:tomcattomcat02confserver.xml을 넣습니다.

[html] 보기 일반 사본

  1. <서버 포트="8005" 종료="종료">
으로 변경되었습니다.

[html] 보기 일반 사본

  1. <서버 포트="8105" 종료="종료">

[html] 보기 일반 사본

  1. <커넥터 포트="8080" 프로토콜="HTTP/1.1" 
  2.                                                                                                                                                           으로 변경되었습니다.
  3. [html] 보기 일반 사본
    1. <커넥터 포트="8180" 프로토콜="HTTP/1.1"   
    2.               connectionTimeout="20000"   
    3.               redirectPort="8543" />  


    1. <커넥터 포트="8009" 프로토콜="AJP/1.3" redirectPort="8443" />  
    改为

    [html] 보기 일반 사본

    1. <커넥터 포트="8109" 프로토콜="AJP/1.3" redirectPort="8543" />  


    [html] 보기 일반 사본

    1.   
    2、  配置nginx

    nginx.conf

    [html] 보기 일반 사본

    1. #Nginx에서 사용하는 사용자 및 그룹, 창에 지정되지 않음
    2. #사용자 niumd niumd
    3. #작업 중인 하위 프로세스 수(보통 CPU 수와 같거나 CPU의 2배)
    4. worker_processes 2
    5. #오류로그 저장 경로
    6. #error_log 로그/error.log
    7. #error_log 로그/error.log 공지
    8. #error_log 로그/error.log 정보
    9. #파일을 저장할 pid 지정
    10. #pid 로그/nginx.pid
    11. 이벤트 {
    12. #네트워크 IO 모델을 사용할 경우 Linux에서는 epoll, FreeBSD에서는 kqueue를 권장하며 window에는 지정하지 않습니다.
    13. #epoll 사용
    14.  
    15. #허용되는 최대 연결 수
    16. 작업자 연결 1024
    17. }
    18. http {
    19. mime.types 포함
    20. default_type 애플리케이션/옥텟 스트림
    21. #로그 형식 정의
    22. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    23. '$status $body_bytes_sent "$http_referer" '
    24. '"$http_user_agent" "$http_x_forwarded_for"'
    25. access_log 로그/access.log 메인
    26.  
    27. client_header_timeout 3분
    28. client_body_timeout 3분
    29. send_timeout 3분
    30.  
    31. client_header_buffer_size 1k
    32. Large_client_header_buffers 4 4k;
    33.  
    34. 파일 보내기
    35. tcp_nopush 켜기
    36. tcp_nodelay 켜짐
    37. #keepalive_timeout 0
    38. keepalive_timeout 65
    39. #gzip
    40.  
    41. 업스트림 로컬 호스트 {
    42.             #IP 계산을 기반으로 각 백엔드 tomcat에 요청을 할당합니다. 많은 사람들이 세션 문제를 해결할 수 있다고 잘못 생각하지만 그렇지 않습니다. 
    43.                                                                                                            #
    44. ip_hash
    45. 서버 로컬호스트:8080
    46. 서버 로컬 호스트:8180
    47.                                                          
    48. 서버 {
    49. 들어보세요
    50. 서버이름 로컬호스트
    51.                                                              
    52. #access_log 로그/host.access.log 메인
    53. 위치 / {
    54. Proxy_connect_timeout 3
    55. Proxy_send_timeout 30
    56. Proxy_read_timeout 30
    57. 프록시_패스 http://localhost
    58. }  
    59. #error_page 404 /404.html
    60. # 서버 오류 페이지를 정적 페이지 /50x.html로 리디렉션
    61.        #                                    
    62. error_page 500 502 503 504 /50x.html
    63. 위치
    64. = /50x.html { 루트 HTML
    65. }  
    66.  } 
    67. }
    68. 3. 역방향 프록시 구성 결과 보기
    nginx, tomcat01, tomcat02를 시작합니다.

    브라우저에 http://localhost를 입력하면 아래와 같이 tomcat01의 관리 인터페이스가 표시됩니다.

    그런 다음 tomcat02를 투명하게 중지하고 페이지를 새로 고치면 아래와 같이 nginx가 자동으로 tomcat02로 전환됩니다.



    위 내용은 다양한 측면을 포함하여 Nginx+tomcat 클러스터 환경 구축에 대해 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.