[centos 설치] mod_jk 1.2.46 아파치 2.4.6 톰캣 9.0.17 by 무한일요일

yum install gcc gcc-c++ httpd-devel


https://tomcat.apache.org/download-connectors.cgi
https://archive.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.46/tomcat-connectors-1.2.46-src.tar.gz
wget 을 쓰든 다운로드하여 ftp, scp로 넘기든 서버에 다운.
 (시부럴 개인적으로는 뭔 문제인지 wget으로 받으면 파일이 깨져서 걍 무식하게 다운하여 ftp 이용...)

tar xvfz tomcat-connectors-1.2.46-src.tar.gz

cd tomcat-connectors-1.2.46-src/native

./configure --with-apxs=/usr/bin/apxs

make && make install

만약 /etc/httpd/modules/ 아래에 mod_js.so 없으면 수동으로 

/root/tomcat-connectors-1.2.46-src/native/apache-2.0 에서 /etc/httpd/modules/ 로 cp


chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so

selinux enforcing 인 경우


vi /etc/httpd/conf.d/virtualhost.conf 

<VirtualHost *:80>

        ServerName jsp.grayfield.net


        DocumentRoot "/opt/tomcat/webapps/ROOT"


        DirectoryIndex index.html index.htm index.jsp


        JkMount /*.do tomcat

        JkMount /*.jsp tomcat

        JkMount /*.xml tomcat

        JkMount /*.json tomcat


</VirtualHost>

# 일단 jsp 도메인으로 들어오는 파일들은 전부 톰캣루트로 보냄.

# 동적 파일들은 tomcat worker 가 처리


<VirtualHost *:80>

        ServerName jsp.grayfield.net


        DocumentRoot "/opt/tomcat/webapps/ROOT"


        DirectoryIndex index.html index.htm index.jsp


</VirtualHost>


# 나머지 파일들은 일반 파일로 처리

# 근데 이 부분은 필요 없을 거 같은데...;;


<VirtualHost *:80>

        ServerName grayfield.net


        DocumentRoot "/var/www/html"


        DirectoryIndex index.html index.htm index.php


        LoadModule php7_module modules/libphp7.so

        AddType application/x-httpd-php .php .php3 .php4 .php5 .html .htm .inc


</VirtualHost>


# jsp 도메인이 아니면 php용으로 보냄.


<Directory "/opt/tomcat/webapps/ROOT">

    AllowOverride all

    Require all granted

</Directory>


<Directory "/var/www/html">

    AllowOverride all

    Require all granted

</Directory>


# 두 폴더에 권한을 부여


vi /etc/httpd/conf.modules.d/mod_jk.conf

<IfModule mod_jk.c>

     JkWorkersFile conf.d/workers_jk.properties

JkShmFile run/mod_jk.shm

        JkLogFile logs/mod_jk.log

             JkLogLevel info

        JkLogStampFormat "[%y %m %d %H:%M:%S] "

</IfModule>


jk 모듈이 올라와 있을때 워커들의 기본 파일, shm경로(뭐여?), 로그경로 등을 설정.


vi  /etc/httpd/conf.modules.d/workers_jk.properties

worker.list=tomcat

worker.tomcat.port=8009

worker.tomcat.host=grayfield.net

worker.tomcat.type=ajp13

worker.tomcat.lbfactor=1


워커설정. 워커들을 로드밸런싱 하기 위해서는 리스트에 워커를 더 추가하고 아래에 포트를 다르게 해서 워커를 추가한다.

worker.list=tomcat, tomcat2

worker.tomcat.port=8009

worker.tomcat.host=grayfield.net

worker.tomcat.type=ajp13

worker.tomcat.lbfactor=1


worker.tomcat2.port=8009

worker.tomcat2.host=grayfield.net

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=2


worker.worker2.lbfactor=1 는 비율을 뜻한다. 위의 예는 워커1과 2가 1:2의 비율로 일한다는 의미.

잘 모르겠으면 걍 worker.worker2.lbfactor=1 로 하는게 나을지도...

워커마다 포트를 다르게 설정하는게 맞는건지 똑같이 하는게 맞는건지 모르겠다.

다르게 할 경우 vi /opt/tomcat/conf/server.xml 에서 포트를 조정해야 하는듯.

https://12bme.tistory.com/196


톰캣 아파치 재시작하고,

chown root:root /opt/tomcat/webapps -R

chmod 777 /opt/tomcat/webapps -R









google


통계 위젯 (블랙)

529
162
557230

SNS

FaceBook



QR code