yum 명령를 사용하여 httpd, httpd-devel 패키지를 설치한다. httpd-devel는 httpd 와 tomcat 연결을 위한 Tomcat Connectors 빌드 & 배포를 위하여 필요한다.
yum install httpd
yum install httpd-devel
2. 톰켓 설치
톰켓 설치에 앞서 http://www.oracle.com/technetwork/java/javase/downloads/index.html 에서 설치파일을 다운로드하여 JAVA 를 설치한다. 문서에서는 JDK 1.8.0.121 64비트을 사용하였다.chmod +x jdk-8u121-linux-x64.bin ./jdk-8u121-linux-x64.bin톰켓 설치파일은 http://tomcat.apache.org 에서 최신 소스를 다운로드한다. 설치는 특별한 것을 요구하지 않으며 압축을 풀는 것으로 기본적은 설치는 완료된다. 문서에서는 /app 경로에 압축을 풀었으며 편의상 실재 설치된 경로를 /app/tomcat 경로로 심볼릭 링크를 생성하여 /app/tomcat 경로로 접근이 가능하도하였다. (tomcat 버전을 업데이트하는 경우에 유용하게 사용된다.)
tar -xvf apache-tomcat-8.5.12.tar.gz mv apache-tomcat-8.5.12/ /app ln -s /app/apache-tomcat-8.5.12 /app/tomcat
이제 톰켓 실행을 위하여 계정의 프로파일(.bash_profile)을 수정한다.
#자바설치위치 export JAVA_HOME= /app/jdk1.8.9_121 #톰켓설치 위치 export TOMCAT_HOME=/app/apache-tomcat-8.5.12 #자바실행옵션 export JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:+DisableExplicitGC export PATH=$JAVA_HOME/bin:$TOMCAT_HOME/bin:$PATH #편의성을 위한 alias 설정 alias tboot='$TOMCAT_HOME/bin/startup.sh' alias tdown='$TOMCAT_HOME/bin/shutdown.sh' alias tlog='tail -f $TOMCAT/logs/catalina.out'
프로파일(.bash_profile)을 수정한 다음에는 반듯이 재로그인 또는 . .bash_profile 명령을 사용하여 적용한다.
이제 tboot 명령을 사용하여 tomcat 를 시작한다.
3. 웹 서버 연결을 위한 Tomcat Connectors 설치하기
Tomcat Connector 설치는 컴파일이 필요하며 소스는 http://tomcat.apache.org 에서 다운로한다. 컴파일을 진행하려면 Apr 라이브러리가 필요하며 이런 이유에서 앞서 httpd-devel 패키지를 설치하였다. 컴파일을 위하여 필요한 패키지들은 아래와 같다.- httpd
- httpd-devel
- gcc
- libtool
참고로 CentOS 7.6.* 의 경우 apxs 파일이 /usr/bin/apxs 에 있다.
cd /app/source/tomcat-connectors-1.2.42-src/native ./configure --with-apxs=/usr/sbin/apxs make make install
정상적으로 설치가 완료되었다면 /etc/httpd/modules 경로에 mod_jk.so 파일이 존재한다.
4. 아파치 웹서버 설정하기
/etc/httpd/conf.d/tomcat.conf 과 workers.properties 파일 만들어 준다./etc/httpd/conf.d/tomcat.conf
LoadModule jk_module modules/mod_jk.so JkShmFile "run/mod_jk.shm" JkWorkersFile conf/workers.properties JkLogFile "logs/mod_jk.log" JkLogLevel info
/etc/httpd/conf/workers.properties
worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1
/etc/httpd/conf.d/vhost.conf 파일 만들어 준다. 본인에 환경에 맞게 수정하여 사용.
/etc/httpd/conf.d/vhost.conf
NameVirtualHost *:80어떤 요청들을 톰켓으로 전달할 것인가를 정의한는 uriworkermap.properties 생성한다.ServerName 서버 아이피 또는 도메인 DocumentRoot 웹 프로그램 루트 JkMountFile conf/uriworkermap.properties DirectoryIndex index.html index.jsp
/etc/httpd/conf/uriworkermap.properties
/*.do=worker1 /*.jsp=worker1 /logout=worker1
5. 서비스 시작하기
CentOS 7 부터는 서비스 관리를 위하여 Sys V init 를 버리고 Systemd 를 사용한다. 이러한 이유에서 기존 서비스 제어를 위하여 사용되었는 service 명령 대신에 systemctl 을 사용한다. (참고로 service 명령을 사용하면 자동으로 systemctl 명령으로 변경되어 처리됨)
systemctl start httpd.service
systemctl status httpd.service
httpd 서비스를 자동으로 시작하게 하려면 아래의 명령어를 사용한다.
systemctl enable httpd.service
서비스 확인은 아래의 명령을 사용한다.
systemctl list-unit-files --type=service | grep httpd
참고자료
How to Install Apache on CentOS 7
댓글 없음:
댓글 쓰기