티스토리 뷰

리눅스/Apache

아파치 톰캣 연동 modJK 설치

IT공부블로그 2019. 3. 18. 10:47
728x90
반응형

1. http://tomcat.apache.org/download-connectors.cgi 에 접속



2. http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz 링크주소복사



3. wget http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz 설치



4. tar xvfz를 이용하여 압축품



5. 압축푼 디렉토리 tomcat-connectors-1.2.46-src에 들어감



6. tomcat-connectors-1.2.46-src 안에 native로 들어감



7. ./configure --with-apxs=/usr/local/douzone/apache/bin/apxs 실행



8. make 그리고 make install 실행



9. vi /usr/local/douzone/apache/conf/http.conf를 연다



10. LoadModule jk_module modules/mod_jk.so 이 내용을 http.conf 안의 모듈 리스트의 맨밑에 넣는다



11.

  # mod_jk

<IfModule mod_jk.c>                             JkWorkersFile conf/workers_jk.properties JkShmFile run/mod_jk.shm JkLogFile logs/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkMountFile conf/uriworkermap.properties

</IfModule>

위 내용을 http.conf 맨밑에 넣는다       위내용은 worker, log 설정을 해줌


worker : modJK의 통신하는애

Shm : share memory


JkShmFile run/mod_jk.shm 이부분을 보면 run 디렉토리가필요


JkMountFile conf/uriworkermap.properties : 이 url로 왔을때 worker가 작동해라 라는 설정 ( RequestHeader와 body를 전부다 넘겨준다)



12. /usr/local/douzone/apahce 에 run 디렉토리 생성


13. /usr/local/douzone/apache/conf에 workers_jk.properties파일을 만든다


vi workers_jk.properties



14. 

worker.list=worker1, worker2 # server1 worker.worker1.port=8009 worker.worker1.host=톰캣서버가있는 ip worker.worker1.type=ajp13 worker.worker1.lbfactor=1 # server 2 worker.worker2.port=8009 worker.worker2.host=톰캣서버가있는 ip worker.worker2.type=ajp13 worker.worker2.lbfactor=1

위 내용을 복사하여 넣는다


lbfactor : 로드밸런싱 하는부분   1 1 이면 한번씩 번갈아가면서 접속   1 2 면 위에 한번 밑에 2번


host부분에 localhost로 하는것은 아파치와 톰캣이 같이있을때


15. /usr/local/douzone/apache/conf에 uriworkermap.properties 파일을 만든다


vi uriworkermap.properties



16.

 ## Mapping the URI /helloweb under worker1
/helloweb/*=worker1

## Mapping the URI /mysite3 under worker2
/mysite3/*=worker2


#/mysite3/*=worker1

   # /service2 요청으로 들어온 것은 worker2 로 mount
   # /service2/*=worker2

   # assets 아래의 static 자원처리는 apache가 처리 
  # !/helloweb/assets/*=worker1 #asset은 헬로웹 밑에있으니 이렇게설정
   # !/mysite3/assets/*=worker2  

위 내용을 붙여넣음


/helloweb/*=worker1 // helloweb으로 들어오는애는 worker1이 처리


아파치와 톰캣을 분리하는 이유


1. 로드밸런싱 


2. 보안



17.  톰캣이 설치되어있는 서버에 /usr/local/douzone/douzone/conf의 server.xml

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>

위 내용으로 수정


 Path through : 아파치가 안건드리고 리퀘스트를 그대로 전달내용이 그대로전달커넥터가 다름 AJP커넥터가 아닌 http커넥터로 직접 톰캣에 접근할수있기 때문에 encoding 설정을 해주지않으면 한글이 깨질수있기때문에 엔코딩설정




728x90
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함