'톰캣 아파치 연동'에 해당되는 글 1건

  1. 2018.03.09 mod_jk연동 도메인 여러개
2018. 3. 9. 18:00


다운받기


[root@localhost home]# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.43-src.tar.gz



다운을 받고,


> tar xvfz tomcat-connectors-1.2.30-src.tar.gz

> cd /home/kyu/tomcat-connectors-1.2.30-src/native

> ./configure --with-apxs=/home/apache2/bin/apxs

           /home/apache2는 아파치 설치된 디렉토리의 /bin/apxs 폴더로 한다.

> make

> make install



make install 하면, 자동으로 mode_jk.so파일이 아파치의 /modules 폴더로 들어간다.



그다음에, 아파치 conf폴더로 들어간다.(나같은 경우는 /home/apache2/conf/ 폴더이다.)


거기에서

>vi httpd.conf 파일을 열고,


LoadModule jk_module modules/mod_jk.so


<IfModule jk_module>


        JkWorkersFile conf/workers.properties


        # Configure logging and memory


        JkShmFile logs/mod_jk.shm


        JkLogFile logs/mod_jk.log


        JkLogLevel info


</IfModule>


를 추가해준다.


나같은 경우는 workers.properties란 파일을 추가로 만들어서 그곳에 톰캣 연결 정보를 넣을것이다.


그리고, vhost로 두개의 도매인을 띄울거라,



# Virtual hosts

#Include conf/extra/httpd-vhosts.conf


여기에서 #를 지워준다.


그리고, 도메인 설정을 httpd-vhosts.conf 파일에 설정하면 된다.


여러 설정을 파일로 나눠서 관리하게 편하게 하고, 파일을 include 시켜주는 구조이다.




저장하고 나와서,


> vi workers.properties

를 치고 


# Define worker names


worker.list=project1 project2 

worker.project2.type=ajp13

worker.project2.host=localhost

worker.project2.port=8008

worker.project1.type=ajp13

worker.project1.host=localhost

worker.project1.port=8009



위와같이 작성해준다.


난 프로젝트 두개를 띄울거라, 위에 같이 두개를 적어준다.


여러개 할때는 콤마(,) 없이, 그냥 띄어쓰기로 하면된다.




이제는 vhost에서 서버 접속 설정을 해줘야 한다.


> cd /home/apache2/conf/extra 폴더로 가면



[root@localhost extra]# ls

httpd-autoindex.conf  httpd-info.conf       httpd-mpm.conf                 httpd-userdir.conf

httpd-dav.conf        httpd-languages.conf  httpd-multilang-errordoc.conf  httpd-vhosts.conf

httpd-default.conf    httpd-manual.conf     httpd-ssl.conf                 proxy-html.conf



위에 같이 뜬다.


> vi httpd-vhosts.conf

파일을 열어서,


다른거 지우고 아래와 같이 써준다.


<VirtualHost *:80>

   DocumentRoot /

   ServerName localhost


    <IfModule log_config_module>

        LogFormat "%v %h %l %u %t \"%r\" %>s %b"

        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

        LogFormat "%h %l %u %t \"%r\" %>s %b" common


        <IfModule logio_module>

          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

        </IfModule>


        #CustomLog "logs/project1-acoustid_access_log" common

        #CustomLog "logs/project1-acoustid_access_log" combined

        CustomLog "|/home/apache2/bin/rotatelogs /home/log/apache2/project1_access_log.%Y%m%d 86400 +540" combined

    </IfModule>



   JkLogFile logs/mod_jk.log

   JkLogLevel info

   JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

   JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

   JkRequestLogFormat "%w %V %T"



   SetEnvIf Request_URI "/weblog/*" no-jk


   JkMount /* project1


   <Directory "/home/tomcat_project1/webapps/project1">

       Options FollowSymLinks

       AllowOverride None

       Order allow,deny

       Allow from all

   </Directory>


   <Directory "/home/weblog">

       Options FollowSymLinks

       AllowOverride None

       Order allow,deny

       Allow from all

   </Directory>


</VirtualHost>



폴더들은 자신이 원하는폴더로 지정해준다. 

대부분 로그정보 파일 저장 경로임.


그리고,   JkMount /* project1

이거가 중요하다.


여기에 아까 workers.properties 에 세팅한 톰캣에서 지정한 이름을 적어줘야 한다.


그래야 저기로 접속했을때 jk를 사용해서 지정한 포트로 보내준다.


두개의 도메인을 할시에는 도메인 명에 다른거 바꿔서 똑같이 하나 더 만들어준다.

그리고 폴더 경로 및 이름들은 바꿔주면 된다.


'컴퓨터 > Java Spring Framework' 카테고리의 다른 글

JPA CascadeType 종류  (0) 2018.05.10
Spring Security logout Handler custom  (0) 2018.05.08
톰캣 설치  (0) 2018.03.09
아파치 컴파일 설치  (0) 2018.03.09
스프링에서 DB 연결하기(ver. mySQL)  (0) 2017.03.31
Posted by Tyson