Centos 기준
- /usr/local/apache 에 설치되어있음
Apache 명령어
- 재시작 명령어
- /usr/local/apache 경로 접속
- ./apachectl stop
- ./apachectl start
1. mod_jk 확인
ls /usr/local/apache/modules | grep 'jk'
2-1. http port로 추가시
- http port 추가 시
1. tomcat 설치된 디렉토리 접근
2. server.xml 편집기로 접근
3. 하단의 코드 추가 (8080 포트 사용 시)
```sql
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
address="0.0.0.0" />
```
4. tomcat 재시작
5. 추가한 포트 호출 확인
2-2. apache - ajp port 추가시
1. apache 설치
2. mod_jk 설치
3. httpd.conf 수정
1. 경로 : /usr/local/apache/conf
2. 하단의 코드 추가(수정)
```sql
Listen 80
LoadModule jk_module modules/mod_jk.so
// tomcat+apache연동 모듈을 include함
Include conf/mod_jk.conf
// 가상 호스트 설정 파일 include 함
Include conf/extra/httpd-vhosts.conf
// apache 버전마다 다름
<Directory />
Allow from all
Require all denied
</Directory>
include conf/mod_jk.conf
include conf/ports.conf
```
4. workers.properties 생성
1. 경로 : /usr/local/apache/conf
2. 하단의 코드 추가(수정)
```sql
ps=/
// java_home 설정
workers.java_home="/usr/local/java-se-8"
// tomcat 경로 설정 (50번은 2개의 tomcat이 설정되어있음)
workers.tomcat_home="{api A버전 톰캣 경로}","{api B버전 톰캣 경로}"
#worker.loadbalancer.type=lb
#worker.loadbalancer.balanced_workers=kepcoApi, kecoApi
# Kepco Api
// JKMount 할 변수 생성
worker.list=Aapi
worker.Aapi.retries=0
// tomcat ajp port와 맞추기
worker.Aapi.port=8009
worker.Aapi.host=localhost
worker.Aapi.type=ajp13
# Keco Api
worker.list=Bapi
worker.Bapi.retries=0
worker.Bapi.port=8019
worker.Bapi.host=localhost
worker.Bapi.type=ajp13
```
1. mod_jk.conf 수정
1. 경로 : /usr/local/apache/conf/extra
2. 하단의 코드 추가(수정)
```sql
<IfModule mod_jk.c>
JkWorkersFile "/usr/local/apache/conf/workers.properties"
JkLogFile "/usr/local/tomcat7/logs/mod_jk.log"
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
</IfModule>
```
2. ports.conf 수정
1. 경로 : /usr/local/apache/conf/extra
2. 하단의 코드 추가(수정)
```sql
// apache로 호출 할 포트 설정
Listen 8081
Listen 7071
```
3. httpd-vhost.conf 수정
1. 경로 : /usr/local/apache/conf/extra
2. 하단의 코드 추가(수정)
```sql
// ports.conf로 Listen 설정한 포트 사용 (8081, 7071)
<VirtualHost *:8081>
DocumentRoot "{api A버전 톰캣 경로}" // tomcat 경로 설정
JkMount /* Aapi // workers.properties에서 생성한 worker.list 변수 명 할당
</VirtualHost>
<VirtualHost *:7071>
DocumentRoot "{api B버전 톰캣 경로}" // tomcat 경로 설정
JkMount /* Bapi // workers.properties에서 생성한 worker.list 변수 명 할당
</VirtualHost>
```
4. iptables 인바운드 추가 및 재시작
1. iptables -nL (iptables 리스트 확인)
2. iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
3. iptables -A INPUT -p tcp --dport 7071 -j ACCEPT
4. cd /etc/init.d
5. ./iptables.save
6. ./iptables restart
5. apache 재시작
1. 경로 : /usr/local/apache
2. ./apachectl stop
3. ./apachectl start
6. tomcat [shutdown.sh](http://shutdown.sh) 실행
1. 한전 일 때 : /usr/local/tomcat7
2. 환경부 일 때 : /webstore/apache-tomcat-8.5.82
7. ports.conf로 설정한 포트 Listen 확인
- netstat -tnlp