서버/Linux III 2016. 4. 6. 12:29
Linux III - 12. Apache 웹-서버 (Tomcat & Tomcat-Connector)
login as: root
root@192.168.1.100's password:
Last login: Wed Apr 6 15:38:59 2016 from 192.168.1.1
[root@main /root]#
login as: root
root@192.168.1.101's password:
Last login: Thu Apr 7 10:32:37 2016 from 192.168.1.1
[root@clone1 /root]#
1. Tomcat
Apache 웹-서버는 html, htmls에 대해서 클라이언트에게 서비스 응답을 실시한다. 그러나 클라이언트로부터 수신한 서비스 요청이 JSP인 경우 처리할 수 없기 때문에 이를 Tomcat에게 전달하여 처리한다. 이때, Tomcat은 WAS(Web Application Server)라고 하며, 포트 번호는 '8080'을 사용한다.
① 클라이언트가 아파치 서버에게 http,https 서비스 요청을 실시한다.
② 이때, 아파치 서버가 수신한 서비스 요청이 http, https이면 자신이 처리하고, 클라이언트에게 응답한다.
③ 만약, 서비스 요청이 http, https가 아닌 jsp이면, localhost:8080을 이용하여 톰켓에게 전달한다.
④ 이때, 톰켓 커넥터를 통하여 전달된다.
⑤ 톰켓은 jsp 서비스 요청을 처리한 이후, 아파치 서버에게 전달한다.
⑥ 아파치 서버는 톰켓으로부터 수신한 응답과 자신의 응답을 클라이언트에게 전송한다.
Tomcat으로만으로도 JSP 기반 웹-서버 구현이 가능하다. 그럼에도 Apache 서버와 연동해서 사용하는 이유는 Apache에서 제공하는 다양한 웹-서버 기능을 이용할 수 있기 때문이다.
2. JAVA 설치
- 현재 설치된 자바 버전을 확인한다.
[root@main /root]# java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
- 설치 및 업데이트 가능한 자바 버전을 확인한다.
[root@main /root]# yum list | grep java-1.7.0-openjdk.x86_64
java-1.7.0-openjdk.x86_64 1:1.7.0.65-2.5.1.2.el6_5 @anaconda-CentOS-201410241409.x86_64/6.6
java-1.7.0-openjdk.x86_64 1:1.7.0.99-2.6.5.0.el6_7 updates
- 'yum' 명령어를 이용하여 'java-1.7.0-openjdk.x86_64를 설치하도로록 한다.
[root@main /root]# yum -y install java-1.7.0-openjdk.x86_64
~ 중간 생략~
Updated:
java-1.7.0-openjdk.x86_64 1:1.7.0.99-2.6.5.0.el6_7
Complete!
[root@main /root]# java -version
java version "1.7.0_99"
OpenJDK Runtime Environment (rhel-2.6.5.0.el6_7-x86_64 u99-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
3. Tomcat 설치
- Apache와 Tomcat 연동에 필요한 'httpd-devel'를 설치한다.
[root@main /root]# yum -y install httpd-devel
[root@main /root]# rpm -qa httpd-devel
httpd-devel-2.2.15-47.el6.centos.4.x86_64
[root@main /root]# ls /usr/sbin/apxs <- 아파치 모듈 컴파일 도구
/usr/sbin/apxs
- Tomcat 설치 유무를 확인한다.
[root@clone1 /root]# rpm -qa | grep tomcat
[root@clone1 /root]#
- 설치 가능한 Tomcat 패키지를 확인한다.
[root@main /root]# yum list | grep tomcat
apache-tomcat-apis.noarch 0.1-1.el6 base
jakarta-commons-collections-tomcat5.noarch
jakarta-commons-dbcp-tomcat5.noarch 1.2.1-13.8.el6 base
jakarta-commons-pool-tomcat5.x86_64 1.3-12.7.el6 base
tomcat6.x86_64 6.0.24-94.el6_7 updates
tomcat6-admin-webapps.x86_64 6.0.24-94.el6_7 updates
tomcat6-docs-webapp.x86_64 6.0.24-94.el6_7 updates
tomcat6-el-2.1-api.x86_64 6.0.24-94.el6_7 updates
tomcat6-javadoc.x86_64 6.0.24-94.el6_7 updates
tomcat6-jsp-2.1-api.x86_64 6.0.24-94.el6_7 updates
tomcat6-lib.x86_64 6.0.24-94.el6_7 updates
tomcat6-servlet-2.5-api.x86_64 6.0.24-94.el6_7 updates
tomcat6-webapps.x86_64 6.0.24-94.el6_7 updates
tomcatjss.noarch 2.1.0-4.el6 base
- 'yum' 명령어를 이용하여 Tomcat 관련 패키지를 설치하도로록 한다.
[root@main /root]# yum -y install tomcat6*
[root@main /root]# rpm -qa | grep tomcat
tomcat6-admin-webapps-6.0.24-94.el6_7.x86_64
tomcat6-jsp-2.1-api-6.0.24-94.el6_7.x86_64
apache-tomcat-apis-0.1-1.el6.noarch
tomcat6-el-2.1-api-6.0.24-94.el6_7.x86_64
tomcat6-javadoc-6.0.24-94.el6_7.x86_64
tomcat6-lib-6.0.24-94.el6_7.x86_64
tomcat6-webapps-6.0.24-94.el6_7.x86_64
tomcat6-servlet-2.5-api-6.0.24-94.el6_7.x86_64
tomcat6-6.0.24-94.el6_7.x86_64
tomcat6-docs-webapp-6.0.24-94.el6_7.x86_64
[root@main /root]# ls /etc/tomcat6
Catalina catalina.properties log4j.properties server.xml tomcat6.conf
catalina.policy context.xml logging.properties tomcat-users.xml web.xml
- Tomcat 서비스를 활성화 한다.
[root@main /root]# service tomcat6 status
tomcat6 is stopped [ OK ]
[root@main /root]# service tomcat6 start
Starting tomcat6: [ OK ]
[root@main /root]# service tomcat6 status
tomcat6 (pid 38642) is running... [ OK ]
- 재부팅시에도 Tomcat 서비스가 활성화되도록 한다.
[root@main /root]# chkconfig --list tomcat6
tomcat6 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@main /root]# chkconfig tomcat6 on
[root@main /root]# chkconfig --list tomcat6
tomcat6 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
- clone1에서 'www.test.com:8080'으로 접속하여 확인한다.
4. Tomcat Connector 설치
- Tomcat Connector는 Apache가 수신한 JSP 요청을 Tomcat에게 전달하는 역할을 하는 모듈이다.
- 'yum'으로는 설치가 불가능하기 때문에 'wget' 명령어와 URL를 직접 입력하여 설치해야 한다.
- Tomcat Connector를 다운로드 받을 디렉토리를 생성하여 다운로드를 실시한다.
[root@main /root]# mkdir tom
[root@main /root]# cd tom
[root@main /root/tom]# wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.32-src.tar.gz
- 'tar' 명령어를 이용하여 압축을 해지한다.
[root@main /root/tom]# ls
tomcat-connectors-1.2.32-src.tar.gz
[root@main /root/tom]# tar zxvf tomcat-connectors-1.2.32-src.tar.gz
- Tomcat Connector 'native' 디렉토리로 이동하여 모듈 설치 및 컴파일을 실시한다.
[root@main /root/tom]# ls
tomcat-connectors-1.2.32-src tomcat-connectors-1.2.32-src.tar.gz
[root@main /root/tom]#
[root@main /root/tom]# cd tomcat-connectors-1.2.32-src
[root@main /root/tom/tomcat-connectors-1.2.32-src]#
[root@main /root/tom/tomcat-connectors-1.2.32-src]# cd native
[root@main /root/tom/tomcat-connectors-1.2.32-src/native]# ls
BUILDING.txt Makefile.in STATUS.txt apache-1.3 common docs netscape
CHANGES NEWS TODO.txt apache-2.0 configure iis nt_service
Makefile.am README.txt aclocal.m4 buildconf.sh configure.in jni scripts
[root@main /root/tom/tomcat-connectors-1.2.32-src/native]# ./buildconf.sh
rm autom4te.cache
libtoolize --force --automake --copy
aclocal
autoheader
automake -a --foreign --copy
autoconf
rm autom4te.cache
[root@main /root/tom/tomcat-connectors-1.2.32-src/native]# ls /usr/sbin/apxs
/usr/sbin/apxs
[root@main /root/tom/tomcat-connectors-1.2.32-src/native]# ./configure --with-apxs=/usr/sbin/apxs
~ 중간 생략 ~
[root@main /root/tom/tomcat-connectors-1.2.32-src/native]# make
[root@main /root/tom/tomcat-connectors-1.2.32-src/native]# make install
~ 중간 생략~
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/lib64/httpd/modules/mod_jk.so
Please be sure to arrange /etc/httpd/conf/httpd.conf...
~ 중간 생략 ~
[root@main /root/tom/tomcat-connectors-1.2.32-src/native]# cd
[root@main /root]#
- 컴파일된 'mod_jk.so' 파일이 생성되었는지 확인한다.
[root@main /root]# ls /usr/lib64/httpd/modules/mod_jk.so
/usr/lib64/httpd/modules/mod_jk.so
[root@main /root]# ls /etc/httpd/modules/mod_jk.so
/etc/httpd/modules/mod_jk.so
@mod_jk.so & workers.properites 설정.txt
- '/etc/httpd/conf/httpd.conf' 파일에서 'mod_jk.so' 관련 설정을 실시한다.
[root@main /root]# vi /etc/httpd/conf/httpd.conf
~ 중간 생략 ~
1008 #<VirtualHost *:80> 1009 # ServerAdmin webmaster@dummy-host.example.com 1010 # DocumentRoot /www/docs/dummy-host.example.com 1011 # ServerName dummy-host.example.com 1012 # ErrorLog logs/dummy-host.example.com-error_log 1013 # CustomLog logs/dummy-host.example.com-access_log common 1014 #</VirtualHost> 1015 1016 LoadModule jk_module modules/mod_jk.so 1017 1018 <IfModule jk_module> 1019 JkWorkersFile /etc/httpd/conf/workers.properties 1020 JkLogFile /etc/httpd/logs/mod_jk.log 1021 JkShmFile /usr/share/tomcat6/logs/jk.shm 1022 JkLogLevel info 1023 JkMount /*.jsp worker2
: wq!
|
- '/etc/httpd/conf/' 디렉토리에 'workers.properties' 파일을 생성하여 Apache로 수신한 요청을 톰켓으로 전달할수 있도록
다음과 같은 설정을 실시한다.
[root@main /root]# vi /etc/httpd/conf/workers.properties
1 worker.list=worker2
: wq! |
- 'httpd', 'tomcat6' 서비스를 재시작한다.
[root@main /root]# service httpd restart
httpd 를 정지 중: [ OK ]
httpd (을)를 시작 중: [ OK ]
[root@main /root]# service tomcat6 restart
Stopping tomcat6: waiting for processes 38642 to exit
[ OK ]
Starting tomcat6: [ OK ]
- clone1에서 'www.test.com/index.jsp'로 접속 테스트를 실시한다.
- '/usr/share/tomcat6/webapps/ROOT/' 디렉토리에 'tomcat.jsp' 파일을 생성한다.
[root@main /root]# vi /usr/share/tomcat6/webapps/ROOT/tomcat.jsp
1 <html><body><h1> Welcome to www.test.com/tomcat.jsp <h1></body><html>
: wq! |
- clone1에서 'www.test.com/tomcat.jsp'로 접속 테스트를 실시한다.
'서버 > Linux III' 카테고리의 다른 글
Linux III - 14. NTP 서버 & 클라이언트 (0) | 2016.04.19 |
---|---|
Linux III - 13. Samba 서버 (0) | 2016.04.08 |
Linux III - 11. Apache 웹-서버 (PHP & MySQL) (0) | 2016.04.06 |
Linux III - 10. DNS 서버 (0) | 2016.03.25 |
Linux III - 09. DNS 서비스 이해 (0) | 2016.03.22 |