찾다
백엔드 개발PHP 튜토리얼Nginx+tomcat 클러스터 환경 구축

실험 환경: 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에 요청을 할당합니다. 많은 사람들이 세션 문제를 해결할 수 있다고 잘못 생각하지만 그렇지 않습니다. 
  4.                                                                                                            #
  5. ip_hash
  6. 서버 로컬호스트:8080
  7. 서버 로컬 호스트:8180
  8.                                                          
  9. 서버 {
  10. 들어보세요
  11. 서버이름 로컬호스트
  12.                                                              
  13. #access_log 로그/host.access.log 메인
  14. 위치 / {
  15. Proxy_connect_timeout 3
  16. Proxy_send_timeout 30
  17. Proxy_read_timeout 30
  18. 프록시_패스 http://localhost
  19. }  
  20. #error_page 404 /404.html
  21. # 서버 오류 페이지를 정적 페이지 /50x.html로 리디렉션
  22.        #                                    
  23. error_page 500 502 503 504 /50x.html
  24. 위치
  25. = /50x.html { 루트 HTML
  26. }  
  27.  } 
  28. }
  29. 3. 역방향 프록시 구성 결과 보기
nginx, tomcat01, tomcat02를 시작합니다.

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

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



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

thesecrettokeepingAphp-poweredwebsiterunningsmoothlydlyUnderHeavyloadInvolvesEveralKeyStrategies : 1) ubstractOpCodeCachingWithOpCacheTecescripteExecutionTime, 2) usedatabasequeryCachingwithRedSendatabaseload, 3) LeverAgeCdnslikeCloudforforporerververforporporpin

PHP의 종속성 주입 : 초보자를위한 코드 예제PHP의 종속성 주입 : 초보자를위한 코드 예제May 14, 2025 am 12:08 AM

Code는 코드가 더 명확하고 유지 관리하기 쉽기 때문에 의존성 주입 (DI)에 관심을 가져야합니다. 1) DI는 클래스를 분리하여 더 모듈 식으로 만들고, 2) 테스트 및 코드 유연성의 편의성을 향상시키고, 3) DI 컨테이너를 사용하여 복잡한 종속성을 관리하지만 성능 영향 및 순환 종속성에주의를 기울이십시오. 4) 모범 사례는 추상 인터페이스에 의존하여 느슨한 커플 링을 달성하는 것입니다.

PHP 성능 : 응용 프로그램을 최적화 할 수 있습니까?PHP 성능 : 응용 프로그램을 최적화 할 수 있습니까?May 14, 2025 am 12:04 AM

예, PPAPPLICATIONISPOSSIBLEADESLESTION.1) INVERECINGUSINGAPCUTERODUCEDABASELOAD.2) INCODINCEDEXING, ENGICIONEQUERIES 및 CONNECTIONPOULING.3) 향상된 보드 바이어링, 플로 팅 포르코 잉을 피하는 최적화 된 APPCUTERODECEDATABASELOAD.2)

PHP 성능 최적화 : 궁극적 인 가이드PHP 성능 최적화 : 궁극적 인 가이드May 14, 2025 am 12:02 AM

theKeyStrategiesToSINCINTIFILINTINTIFILINTINTHPPORMATIONPERFORMANCEARE : 1) USEOPCODECACHING-CCHACHETEDECUTECUTINGTIME, 2) 최적화 된 ABESINSTEMENTEMENDSTEMENTEMENDSENDSTATEMENTENDS 및 PROPERINDEXING, 3) ConfigureWebSerVERSLIKENGINXXWITHPMFORBETPERMERCORMANCES, 4)

PHP 의존성 주입 컨테이너 : 빠른 시작PHP 의존성 주입 컨테이너 : 빠른 시작May 13, 2025 am 12:11 AM

aphpdectionenceindectioncontainerisatoolthatmanagesclassdependencies, 향상 Codemodularity, testability 및 maintainability.itactAsacentralHubForCreatingAndingDinjectingDingingDingingdecting.

PHP의 종속성 주입 대 서비스 로케이터PHP의 종속성 주입 대 서비스 로케이터May 13, 2025 am 12:10 AM

대규모 응용 프로그램의 경우 SELLENCIONINGESS (DI)를 선택하십시오. ServicElocator는 소규모 프로젝트 또는 프로토 타입에 적합합니다. 1) DI는 생성자 주입을 통한 코드의 테스트 가능성과 모듈성을 향상시킵니다. 2) Servicelocator는 센터 등록을 통해 서비스를 얻습니다. 이는 편리하지만 코드 커플 링이 증가 할 수 있습니다.

PHP 성능 최적화 전략.PHP 성능 최적화 전략.May 13, 2025 am 12:06 AM

phPapplicationSCanBeoptimizedForsPeedandefficiencyby : 1) ENABLEOPCACHEINPHP.INI, 2) PREPAREDSTATEMENTSWITHPDOFORDATABASEQUERIES 사용

PHP 이메일 검증 : 이메일이 올바르게 전송되도록합니다PHP 이메일 검증 : 이메일이 올바르게 전송되도록합니다May 13, 2025 am 12:06 AM

phpeMailValidationInvoLvestHreesteps : 1) formatValidationUsingRegularexpressionsTochemailformat; 2) dnsValidationToErethedomainHasaValidMxRecord; 3) smtpvalidation, theSTHOROUGHMETHOD, theCheckSiftheCefTHECCECKSOCCONNECTERTETETETETETETWERTETWERTETWER

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는