https://sarc.io/index.php/httpd/259-workers-properties-1#google_vignette
apache 웹서버와 연동 방법은 mod_jk, mod_proxy, mod_cluster를 이용한 방법이 있음
1. tomcat connectors(mod_jk) 모듈 다운로드 후 압축 해제
https://tomcat.apache.org/download-connectors.cgi
2. 모듈 컴파일 및 설치
cd tomcat-connectors-1.2.48-src/native/
./configure --with-apxs=/sw/web/apache/bin/apxs
--with-apxs=/sw/web/apache/bin/apxs : 아파치 설치 경로의 apxs 모듈을 빌드
find ./ -name apxs
yum install httpd-devel
make && make install
컴파일된 모듈 확인
3. mod_jk.so 모듈 설정
1) httpd.conf 파일 설정
mod_jk.so 모듈을 로딩하도록 include 라인 추가
vi /etc/httpd/conf/httpd.conf
2) mod_jk.conf 파일 설정
vi /etc/httpd/conf/mod_jk.conf
#Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# the location of jk shared memory
JkShmFile /usr/local/httpd2/conf/mod_jk.shm
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicates to send SSK KEY SIZE
# Note: Changed from +ForwardURICompat.
# See http://tomcat.apache.org/security-jk.html
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
# You can use external file for mount points
# It will be checked for updates each 60 secondes
# The format of the file is : /url=worker
# /examples/*=loadbalancer
JkMountFile conf/jkworkermap.properties
3) workers.properties 설정
worker는 was의 인스턴스를 의미
apache와 연결되는 worker는 worker.properties에 등록되어 있어야 mod_jk가 적절한 부하분산을 해준다
인스턴스별로 worker를 설정
vi /etc/httpd/conf/workers.properties
# Define list of workers that will be used
# for mapping requests
# The configuration directives are valid
# for the mod_jk version 1.2.18 and later
#----------------------------------------------------------
####################
#01. worker templates
####################
worker.template.type=ajp13
worker.template.lbfactor=1
worker.template.socket_timeout=30
worker.template.reply_timeout=30000
worker.template.retries=0
#----------------------------------------------------------
####################
#02. worker list
####################
#worker list
worker.list=slave
worker.slave.balance_workers=slave1:server-one,slave1:server-two,slave2:server-one,slave2:server-two
worker.slave.type=lb
#worker jkstatus
worker.jkstatus.type=status
#worker slave1
worker.slave1.method=Session
worker.slave1.session_cookie=JSESSIONID
worker.slave1.retries=0
#worker slave2
worker.slave2.method=Session
worker.slave2.session_cookie=JSESSIONID
worker.slvae2.retries=0
#----------------------------------------------------------
####################
#03. node list
####################
#slave1:server-one
worker.slave1:server-one.reference=worker.template
worker.slave1:server-one.host=192.168.56.126
worker.slave1:server-one.port=8159
#slave1:server-two
worker.slave1:server-two.reference=worker.template
worker.slave1:server-two.host=192.168.56.126
worker.slave1:server-two.port=8159
#slave2:server-one
worker.slave2:server-one.reference=worker.template
worker.slave2:server-one.host=192.168.56.127
worker.slave2:server-one.port=8159
#slave2:server-two
worker.slave2:server-two.reference=worker.template
worker.slave2:server-two.host=192.168.56.127
worker.slave2:server-two.port=8159
#----------------------------------------------------------
worker.worker_name.host : 클러스터링 및 로드밸런싱 대상 host
두 대의 물리적 서버에 설치된 worker를 연동할 경우 ip를 넣어야 함
DNS lookup하지 않도록 ip로 설정하는 것을 추천
worker.worker_name.port : apache와 jboss가 통신하는 포트로 단일 노드 기본 AJP 포트는 8009
(Socket Binding Port Offset 값이 150이기 때문에 8009 + 150 = 8159임)
worker.worker_name.type : worker와 연결시 사용할 프로토콜 타입
lbfactor는 workers, 즉 각 인스턴스의 부하분산 지수임
보통 1로 설정하여 모든 인스턴스를 균등하게 분산
공통 속성을 template로 만들어 적용
4) jkworkermap.properties 설정
웹서버와 jboss가 처리할 요청을 분리하는 URI worker mapping 설정
vi /etc/httpd/conf/jkworkermap.properties
# Simple worker configuration file
# Mount the Servlet context to the ajp13 worker
#/jmx-console=ajp13
#/jmx-console/*=ajp13
#/web-console=ajp13
#/web-console/*=ajp13
#jkstatus
/jkstatus=jkstatus
/jkstatus/*=jkstatus
#all url turn to ajp
#/*=ajp13
#jsp url turn to ajp
/*.jsp=slave
5) 아파치 재기동 후 웹서버 ip:port로 접근 확인
'WEB > APACHE' 카테고리의 다른 글
4. 1024 이하 포트 사용 설정 (0) | 2023.05.22 |
---|---|
2.1. Compile 설치 과정 (0) | 2023.05.22 |
2. 설치 [Compile] (0) | 2023.05.22 |
1. 설치 [YUM] (0) | 2023.05.22 |
3. apache 기동/중지 및 상태 확인 (0) | 2022.10.26 |