Nginx+tomcat 도 메 인 네 임 바 인 딩,역방향 에이전트,부하 균형 실현


잡담 은 그만 하고 본론 으로 들 어가 세 요~
 
해결 해 야 할 문제:
  • 브 라 우 저 를 통 해 도 메 인 이름 을 입력 하고 서버 엔 드 Nginx 가 요청 을 받 아 tomcat(비 80 포트)에 전송 할 것 을 요청 합 니 다

  • 4.567917.tomcat 의 한 항목 과 도 메 인 이름 바 인 딩 
    Nginx 홈 페이지:http://nginx.org/
     
    tomcat 홈 페이지:http://tomcat.apache.org/
     
     
    Nginx:주요 역할 은 사이트 의 높 은 병발,부하 균형 을 해결 하 는 기능 입 니 다.
     
    tomcat:응용 서버,웹 사이트 원본 프로그램 을 응용 서버 에 발표 하고 브 라 우 저 를 통 해 접근 할 수 있 습 니 다.그들의 통 증 은 동시 방문 상황 에서 대량의 시스템 자원 을 소모 하여 응답 클 라 이언 트 가 느 려 지 는 것 이다.Nginx 의 등장 은 바로 그들의 짧 은 판 을 보충 하 는 것 이다.
     
     
     
     
    1.tomcat 는 어떤 항목 과 도 메 인 이름 바 인 딩 을 합 니 다.
       1.우선 포트 문제:
    일반적으로 tomcat 의 기본 설정 포트 는 8080 입 니 다.실제 응용 프로그램 에 nginx 와 같은 프 록 시 서버 가 없다 면 tomcat 의 Apache Software Foundation\apache-tomcat-7.0.59\conf\server.xml 파일 의 8080 포트 를 80 으로 바 꾸 면 됩 니 다.하지만 지금 제 환경 은 nginx,nginx 를 사용 하여 80 포트 를 차지 하고 있 습 니 다.그래서 저 는 기본 포트 를 수정 하지 않 았 습 니 다.이때 tomcat 가 시작 되면 통과 할 수 있 습 니 다.http://localhost:8080/항목 이름 접근
       2.그 다음은 귀속 도 메 인 이름 의 문 제 를 해결한다.
    전 제 는 도 메 인 이름 을 신 청 했 고 도 메 인 이름과 로 컬 IP 를 비 추 는 것 입 니 다.이 일 들 을 나 는 이미 했 기 때문에 지금 은 tomcat 바 인 딩 도 메 인 이름 을 해결 하 는 것 이다.이것 은 간단 합 니 다.위의 파일 에서탭 을 찾 습 니 다.그 중 name 속성 이 있 습 니 다.기본 값 은 localhost 입 니 다.
    변경 전:
     
          <Host name="localhost"  appBase="webapps"  unpackWARs="true" autoDeploy="true">

     
    변경 후:
     
          <Host name="zhangyangyang.me"  appBase="webapps"  unpackWARs="true" autoDeploy="true">

     
    tomat 를 다시 시작 하면 통과 할 수 있 습 니 다.http://zhangyangyang.com:8080/항목 이름           접근 항목
     
       3.항목 이름 을 입력 하지 않 고 항목 에 접근 하 는 것 을 해결 합 니 다.
         똑 같이 위 에 거 예요. Apache Software Foundation\\apache-tomcat-7.0.59\\conf\\server.xml 파일 은메모지 내부 에 다음 설정 을 추가 합 니 다.
        
    <Context docBase="   " path=""  reloadable="true" />

     
     
       이전태그 변경:
     
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log." suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    
          </Host>

     
      변 경 된태그
     
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
    			
    			<Context docBase="   " path=""  reloadable="true" />
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log." suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    
          </Host>

     
     자,tomcat 재 부팅,접근 http://zhangyangyang.me:8080       방문 할 수 있 습 니 다.
     
     
     
    2.브 라 우 저 를 통 해 도 메 인 이름 을 입력 하고 서버 쪽 Nginx 에서 요청 을 받 아 tomcat(8080 포트)에 전송 합 니 다.
     
    여기 서 해결 해 야 할 문 제 는 Nginx 가 받 았 습 니 다. http://zhangyangyang.com 라 는 요청 이 자동 으로 tomcat 에 전 달 됩 니 다. http://zhangyangyang.com:8080
     
     
    Nginx,기본 포트 는 80 입 니 다.
     
    이 단 계 는 매우 간단 합 니 다.nginx 의 기본 설정 파일/conf/nginx.conf 에서 server{}코드 블록 을 수정 합 니 다.
     
            listen       80;
            #server_name  localhost; defaultzyy
    	server_name zhangyangyang.me   #     ,  80  ,     
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
         	    proxy_pass http://zhangyangyang.me:8080;  #     tomat 8080  
                #root   html; defaultzyy
                #index  index.html index.htm; defaultzyy
            }

     
    자, Nginx 다시 시작 :  
     
    nginx -s reload

     
     
     
    브 라 우 저 입력http://zhangyangyang.me 제 tomcat 사이트 에 요청 할 수 있 습 니 다.문제 해결~
     
     
    물론 Nginx 의 부하 균형 은 아직 언급 되 지 않 았 으 며,이어서 계속 기록 할 것 이다.

    좋은 웹페이지 즐겨찾기