개발관련/JAVA

하나의 아파치 웹서버에 두개의 도메인 설정

길동무92 2016. 5. 2. 15:31


1. 우선 아파치 httpd.conf 파일 설정이다.


### 여기 아래 추가 됨 ###

### MRD파일 다운로드 안되게 처리
AddType text/html .mrd   --> mrd파일을 이렇게 안해주면 다운로드 처리가 된다.


--> 여기는 workers.properties 파일 위치 지정한 곳

<IfModule mod_jk.c>
JkWorkersFile "D:/Project_Src/WEB/Apache2.2.31_A_B/Apache2/conf/workers.properties"
Win32DisableAcceptEx
</IfModule>


--> so파일 지정 및 log를 쌓기위한 환경설정
LoadModule jk_module "modules/mod_jk.so"


#Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"


--> 여기서 부터 도메인을 분리하여 처리하는 곳

--> A 도메인에 대한 셋팅


NameVirtualHost xxx.xxx.xxx.xxx:80

<VirtualHost xxx.xxx.xxx.xxx:80>
    DocumentRoot D:\Project_Src\SOURCE\A    --> 웹서버 DocRoot 위치
    ServerName A.domain.com                            --> 실제 URL 호출시 사용되는 것
    ErrorLog logs/A.domain.com-error_log.log       --> 에러로그 위치 및 명칭
    CustomLog "|D:/Project_Src/WEB/Apache2.2.31_A_B/Apache2/bin/rotatelogs logs/A.domain.com-a ccess_log-%Y%m%d.log 30M" common --> 일반로그 쌓는 것. Rotate 처리함

    <Directory D:\Project_Src\SOURCE\A>   --> 해당 디렉토리의 접근 권한 부여
    Order allow,deny
    Allow from all
    </Directory>


--> workers.properties 안에서 어떤 이름과 연결시킬지를 정의, 여기서는 tomcat1으로 지정한 것으로 연결
JkMount /ajax/* tomcat1
JkMount /jsp/* tomcat1
JkMount /download/* tomcat1
JkMount /upload/* tomcat1
JkMount /json/* tomcat1
</VirtualHost>



<VirtualHost xxx.xxx.xxx.xxx:80>
    DocumentRoot D:\Project_Src\SOURCE\B
    ServerName B.domain.com
    ErrorLog logs/B.domain.com-error_log.log
    CustomLog "|D:/Project_Src/WEB/Apache2.2.31_A_B/Apache2/bin/rotatelogs logs/B.domain.com-access_log-%Y%m%d.log 30M" common

    <Directory D:\Project_Src\SOURCE\B>
    Order allow,deny
    Allow from all
    </Directory>


--> 아래 처음에는 /jsp/*를 모두 허용했으나

--> URL 분리로 인하여 일부 Path에 대해서만 허용 처리함
JkMount /ajax/* tomcat2
JkMount /jsp/toss/* tomcat2
JkMount /jsp/ccpy tomcat2
JkMount /jsp/cyber tomcat2
JkMount /jsp/anonymity/* tomcat2
### 외부는 특정 Path로만 접근 가능(2016.03) ###
###JkMount /jsp/* tomcat2
JkMount /download/* tomcat2
JkMount /upload/* tomcat2
JkMount /json/* tomcat2
</VirtualHost>


2. 여기는 workers.properties 파일


worker.list=tomcat1,tomcat2   --> 연결고리를 몇개 할 것인지를 리스트업

# Set properties for worker1 (ajp13)
worker.tomcat1.type=ajp13
worker.tomcat1.host=xxx.xxx.xxx.xxx
worker.tomcat1.port=7009
worker.tomcat1.lbfactor=1

# Set properties for worker2 (ajp13)
worker.tomcat2.type=ajp13
worker.tomcat2.host=xxx.xxx.xxx.xxx
worker.tomcat2.port=8009
worker.tomcat2.lbfactor=1