본문

아이네트호스팅

본문 바로가기

주메뉴

전문 엔지니어의 관리+운영+유지보수, 최고의 전문엔지니어 그룹이 능동적인 서버 운영, 1:1 Technical support (윈도우, 리눅스, 네트워크, 보안 전문가 도움), 20여년 간 축적된 서버 운영 노하우 (인터넷의 시작과 함께)
통합관리서비스 자세히 보기

왼편 메뉴

서버·IDC
상품구성
상품개요
상품구성
견적 신청
선불형 서버호스팅
부가 서비스
보안 서비스
이벤트 바로 보기
  • 24시간 기술지원센터
    24시간 기술지원 : Tel. 1566-6757, Fax. 02-3472-8352, Mail. support@inet.co.kr
  • 서비스 문의
    서비스 문의 및 신청 : Tel. 02-2103-7600, Fax. 02-3472-8350, Mail. sale@inet.co.kr
  • PC 원격 지원
  • 네임 서버 정보
    ns.gihc.net
    203.235.122.164
    ns2.gihc.net
    210.116.98.164
    ns3.gihc.net
    121.254.196.150
  • 상품구성
  • 상품특징
  • 무료 기술 지원
  • Linux 도움말
  • Windows 도움말
  • APM 및 Tomcat 설치파일 보기다운로드
  • CentOS 7.8 install파일 보기다운로드
  • mysql 백업 및 복구파일 보기다운로드
  • DB 생성 및 계정파일 보기다운로드

APM 및 Tomcat 설치

1. Overview
- APM 및 Tomcat 설치 방법 및 설정에 대한 내용
2. Apache 설치
2.1. OpenSSL
[root@localhost work]# wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1d.tar.gz
[root@localhost work]# tar zxvf openssl-1.1.1d.tar.gz
[root@localhost work]# cd openssl-1.1.1d
[root@localhost openssl-1.1.1d]# ./config -fPIC --prefix=/usr/local/openssl
[root@localhost openssl-1.1.1d]# make
[root@localhost openssl-1.1.1d]# make install
버전 확인
[root@localhost openssl-1.1.1d]# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/openssl/lib -> 추가
[root@localhost openssl-1.1.1d]# ldconfig
[root@localhost openssl-1.1.1d]# /usr/local/openssl/bin/openssl version
OpenSSL 1.1.1d 10 Sep 2019
2.2. Apache 설치
2.2.1. pcre, apr, apr-util, expat-devel 설치
[root@localhost work]# wget http://archive.apache.org/dist/apr/apr-1.7.0.tar.gz
[root@localhost work]# wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
[root@localhost work]# wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz
[root@localhost work]# wget http://mirror.navercorp.com/apache/httpd/httpd-2.4.46.tar.gz
[root@localhost work]# tar zxvf pcre-8.42.tar.gz
[root@localhost work]# cd pcre-8.42
[root@localhost pcre-8.42]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.42]# make
[root@localhost pcre-8.42]# make install
[root@localhost pcre-8.42]# cd ..
[root@localhost work]# tar zxvf httpd-2.4.46.tar.gz
[root@localhost work]# mv –f pcre-8.42 ./httpd-2.4.46/srclib/pcre
[root@localhost work]# tar zxvf apr-1.7.0.tar.gz
[root@localhost work]# mv –f apr-1.7.0 ./httpd-2.4.46/srclib/apr
[root@localhost work]# tar zxvf apr-util-1.6.1.tar.gz
[root@localhost work]# mv -f apr-util-1.6.1 ./httpd-2.4.46/srclib/apr-util
[root@localhost work]# yum -y install expat-devel
2.2.2. apache 설치
앞에서 다운로드 및 압축 해제한 디렉토리로 이동합니다.
[root@localhost work]# cd httpd-2.4.46
[root@localhost httpd-2.4.46]# vi server/mpm/event/event.c
114 #ifndef DEFAULT_SERVER_LIMIT
115 #define DEFAULT_SERVER_LIMIT 16 #(16 -> 20으로 수정합니다.)
주석은 지우지 않습니다.
위와 같이 수정하고 httpd-2.4.46 디렉토리에서 컴파일을 진행합니다.
[root@localhost httpd-2.4.46]# ./configure --prefix=/usr/local/apache2 --with-pcre=/usr/local/pcre
--enable-mods-shared=most --enable-so --enable-modules=ssl --enable-modules=so --enable-modules=most
--enable-ssl --with-ssl=/usr/local/openssl --with-mpm=event --with-included-apr
[root@localhost httpd-2.4.46]# make
[root@localhost httpd-2.4.46]# make install
2.2.3. apache 설정
apache 기본 Document root, script 디렉터리와 log 설정을 바꾸기 위해 아래와 같이 사용할 디렉토리를 만듭니다.
기본으로 설정되는 /usr/local/apache/htdocs에서의 많은 자료나 로그 그 외 서비스 설치 등으로 /usr이 full 나는 경우를 방지하기 위해
apache Document root는 파티션이 충분한 /home으로 변경하고, apache 로그 경우에도 마찬가지 이유로 /var/log/apachelog로
지정합니다.
[root@localhost work]# mkdir -p /home/httpd/html
[root@localhost work]# su - ftp아이디
[root@localhost ftp아이디]$ ln -s /home/httpd/html /home/ftp아이디/public_html
[root@localhost ftp아이디]$ exit
[root@localhost work]# chown -R ftp아이디:ftp아이디 /home/ftp아이디/
[root@localhost work]# chmod 711 /home/ftp아이디
[root@localhost work]# mkdir /var/log/apachelog
디렉터리를 만들어 준 것과 같이 document root와 그 외 설정을 변경하기 위해 httpd.conf를 아래와 같이 수정합니다.
[root@localhost wokr]# vi /usr/local/apache2/conf/httpd.conf
#ServerName www.example.com:80 #(주석처리 빼고 업체 도메인, 도메인이 없을 경우 ip 입력)
DocumentRoot "/usr/local/apache2/htdocs" (경로를 /home/httpd/html로 수정)
<Directory "/usr/local/apache2/htdocs"> (경로를 /home/httpd/html로 수정)
# for more information.
Options Indexes FollowSymLinks (Indexes 삭제)
(Indexes 부분을 삭제하지 않으면 index.html파일이 없을 경우 도메인 웹 접속 시 파일의 리스트를 보여주게 되므로 필히 삭제합니다.)
아파치로그 부분이 많이 쌓이기 때문에 rotatelogs 를 걸어서 로그를 분산합니다.

ErrorLog "|/usr/local/apache2/bin/rotatelogs /var/log/apachelog/도메인-error_log.%Y%m%d 1000M"
#( 수정 전 -> logs/error_log )
CustomLog "|/usr/local/apache2/bin/rotatelogs /var/log/apachelog/도메인-access_log.%Y%m%d 1000M"
common env=!IMAGE
#(수정 전->logs/access_log , 파이프 기호 주의)
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf (주석 삭제)
# Various default settings
Include conf/extra/httpd-default.conf (주석 삭제)
ServerTokens ProductOnly 추가
TraceEnable off 추가
설정에 오류가 없는지 문맥검사를 진행
[root@localhost conf]# /usr/local/apache2/bin/httpd -t
Syntax OK
시스템이 부팅할 때 apache가 실행 되도록 systemctl를 설정
[root@localhost work]# vi /usr/lib/systemd/system/httpd.service
▼ 아래 내용 추가
[Unit]
Description=apache2 Service
After=syslog.target
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl start
ExecStop=/usr/loacal/apache2/bin/apachectl stop
ExecReload=/usr/local/apache2/bin/apachectl graceful
PrivateTmp=true
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
[root@localhost work]# systemctl enable httpd.service
[root@localhost work]# systemctl list-unit-files | grep http
[root@localhost work]# systemctl restart httpd.service
3. MySQL 설치
3.1. CMAKE 설치
[root@localhost work]# wget https://cmake.org/files/v3.9/cmake-3.9.6.tar.gz
[root@localhost work]# tar zxvf cmake-3.9.6.tar.gz
[root@localhost work]# cd cmake-3.9.6/
[root@localhost cmake-3.9.6]# ./bootstrap
[root@localhost cmake-3.9.6]# make
[root@localhost cmake-3.9.6]# make install
3.2. MYSQL 5.6 설치
의존성 모듈을 yum으로 선수 설치 진행 및 mysql 계정을 생성합니다.
[root@localhost work]# yum -y install make zlib curl gcc cpp gcc-c++ libtermcap-devel ncurses-devel bzip2-devel
[root@localhost work]# useradd -s /sbin/nologin mysql
MySQL 다운 후 설치
[root@localhost work]# wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.48.tar.gz
[root@localhost work]#tar zxvf mysql-5.6.48.tar.gz
[root@localhost work]#cd mysql-5.6.48
서버 설치시 mysql 기본 옵션이 언어셋은 euckr, 정적엔진은 myisam 입니다.
따라서 기존 5.5.X대에 설치한 환경설정과는 차이가 있으니 아래의 설정값들을 비교해서 설치합니다.
설정값들은 설치가 완료된 후에도 변경이 가능하므로 설치 후 변경하는 방법도 알아둬야 합니다.
설치할 MySQL의 언어셋을 확인한 후 아래의 cmake 옵션 입력 후 저장
[root@localhost mysql-5.6.48]# vi setup.sh
[euckr 일 경우]
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=euckr -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_COLLATION=euckr_korean_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
[UTF-8 일 경우]
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
[root@localhost mysql-5.6.48]# chmod 711 setup.sh
[root@localhost mysql-5.6.48]# ./setup.sh
[root@localhost mysql-5.6.48]# make
[root@localhost mysql-5.6.48]# make install
[root@localhost mysql-5.6.48]# cd /usr/local/mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
[root@localhost mysql]# chown –R mysql:mysql data
[root@localhost mysql]# chgrp mysql *
[root@localhost mysql]# cd /work/mysql-5.6.48
[root@localhost mysql-5.6.48]# cp support-files/my-default.cnf /etc/my.cnf
CentOS 7에서는 MySQL이 IPv4와 IPv6에서 동작하도록 설정할 수 있습니다.
기본적으론 IPv6로 동작하도록 설정되며 /etc/my.cnf 에 아래의 옵션을 넣으면 IPv4로 동작하게 됩니다.
[root@localhost ~]# vi /etc/my.cnf
[mysqld] 아래에 옵션 추가
bind-address=0.0.0.0
시스템 부팅시 mysql 이 실행 될 수 있도록 systemctl 설정.
[root@localhost work]# vi /usr/lib/systemd/system/mysqld.service
▼ 아래 내용 추가
[Unit]
Description=Mysql Service
After=syslog.target
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
[Install]
WantedBy=multi-user.target
[root@localhost/work]# systemctl enable mysqld.service (추가)
[root@localhost/work]# systemctl list-unit-files | grep mysql (확인)
[root@localhost/work]# systemctl restart mysqld.service
4. PHP 설치
4.1. 필수 라이브러리 설치
4.1.1. libiconv (문자 인코딩 라이브러리)
[root@localhost work]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
[root@localhost work]# tar zxvf libiconv-1.15.tar.gz
[root@localhost work]# cd libiconv-1.15/
[root@localhost libiconv-1.15]#./configure --prefix=/usr/local --libdir=/usr/local/lib
** OS가 64bit인 경우에는 libdir경로를 변경해 줍니다.
./configure --prefix=/usr/local --libdir=/usr/local/lib64
[root@localhost libiconv-1.15]# make
[root@localhost libiconv-1.15]# make install
4.1.2. libmcrypt (PHP에서 암호화 해독 알고리즘인 mcrypt를 사용하기 위해서 설치)
[root@localhost work]#
wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
[root@localhost work]# tar zxvf libmcrypt-2.5.8.tar.gz
[root@localhost work]# cd libmcrypt-2.5.8
[root@localhost libmcrypt-2.5.8]#./configure --prefix=/usr/local --libdir=/usr/local/lib
** OS가 64bit인 경우에는 libdir경로를 변경해 줍니다.
./configure --prefix=/usr/local --libdir=/usr/local/lib64
[root@localhost libmcrypt-2.5.8]# make
[root@localhost libmcrypt-2.5.8]# make install
[root@localhost libmcrypt-2.5.8]# /sbin/ldconfig
[root@localhost libltdl]#./configure --enable-ltdl-install --libdir=/usr/local/lib
** 64bit인 경우에는 libdir경로를 변경해 줍니다.
./configure --enable-ltdl-install --libdir=/usr/local/lib64
[root@localhost libltdl]# make
[root@localhost libltdl]# make install
4.1.3. mhash(hash암호화 알고리즘)
[root@localhost work]#
wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
[root@localhost work]# tar zxvf mhash-0.9.9.9.tar.gz
[root@localhost work]# cd mhash-0.9.9.9
[root@localhost mhash-0.9.9.9]# ./configure --prefix=/usr/local --libdir=/usr/local/lib
** OS가 64bit인 경우에는 libdir경로를 변경해 줍니다.
./configure --prefix=/usr/local --libdir=/usr/local/lib64
[root@localhost mhash-0.9.9.9]# make
[root@localhost mhash-0.9.9.9]# make install
4.1.4. mcrypt
[root@localhost work]#
wget http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
[root@localhost work]# tar zxvf mcrypt-2.6.8.tar.gz
[root@localhost work]# cd mcrypt-2.6.8/
[root@localhost mcrypt-2.6.8]# /sbin/ldconfig
[root@localhost mcrypt-2.6.8]# ./configure --prefix=/usr/local --libdir=/usr/local/lib
** OS가 64bit인 경우에는 libdir경로를 변경해 줍니다.
./configure --prefix=/usr/local --libdir=/usr/local/lib64
[root@localhost work]# make
[root@localhost work]# make install
4.1.5. 기타 의존성 라이브러리 설치
yum으로 configure에 필요한 의존성 라이브러리를 미리 설치합니다.
[root@localhost work]# yum -y install libxml2 libxml2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel
freetype freetype-devel
[root@localhost work]# yum -y install epel-release
[root@localhost work]# yum -y install uw-imap-devel
4.2. PHP 설치
4.2.1. 소스 다운로드
PHP 소스파일을 다운받아서 압축해제 후, 디렉터리로 이동해서 설치를 진행합니다.
[root@localhost work]# wget https://www.php.net/distributions/php-7.2.33.tar.gz
[root@localhost work]# tar zxvf php-7.2.33.tar.gz
[root@localhost work]# cd php-7.2.33
4.2.2. 설치 전 작업
설치하는 OS가 64비트라면 mysql lib을 64비트로 인식시켜주고 작업을 진행합니다.
[root@localhost work]# ln -s /usr/local/mysql/lib /usr/local/mysql/lib64
아래의 설정을 하지 않으면, configure 또는 make 진행 시 iconv 라이브러리 관련하여 에러가 발생합니다.
make: *** [sapi/cli/php] 오류 1
[root@localhost php-7.2.33]# LIBS="-liconv"
[root@localhost php-7.2.33]# export LIBS
4.2.3. 컴파일 옵션
PHP 버전에 따라 컴파일 옵션이 조금씩 다르므로 버전에 맞추어 컴파일 옵션을 달리 적용해야 합니다.
[PHP 7.2.x] [root@localhost php-7.2.33]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
--with-mysqli=/usr/local/mysql/bin/mysql_config --with-gd --with-png-dir --with-zlib-dir --with-jpeg-dir --with-kerberos
--with-freetype-dir --enable-mbstring --enable-sockets --disable-debug --enable-dba=shared --with-iconv-dir=/usr/local/lib64
--with-mhash --with-curl --enable-opcache --with-openssl=/usr/local/openssl
[root@localhost php-7.2.33]# make
[root@localhost php-7.2.33]# make install
Make install이 완료되면 환경 설정을 해주기 위해서 아래처럼 ini파일을 만들어 줍니다.
[root@localhost php-7.2.33]#cp php.ini-production /usr/local/php/lib/php.ini
아파치의 httpd.conf 파일을 편집, 아래와 같이 해당 라인을 추가합니다. (/usr/local/apache2/conf)
[root@localhost work]#vi /usr/local/apache2/conf/httpd.conf
<IfModule dir_module>
215Line DirectoryIndex index.html index.php (index.php 추가) </IfModule>
356Line AddType application/x-compress .Z
357Line AddType application/x-gzip .gz .tgz
358Line AddType application/x-httpd-php .php .htm (추가)
359Line AddType application/x-httpd-php-source .phps (추가)
[root@localhost work]# vi /usr/local/php/lib/php.ini
226Line short_open_tag = On (Off -> On 변경)
363Line expose_php = Off (On -> Off 변경)
so파일을 찾을 수 있도록 ld.so.conf의 맨 아래줄에 mysqllib의 디렉터리를 지정합니다.
[root@localhost work]# vi /etc/ld.so.conf
/usr/local/mysql/lib (OS가 32bit일 경우)
/usr/local/mysql/lib64 (OS가 64bit일 경우)
저장하고 나와서 적용 될 수 있도록 ldconfig해줍니다.
[root@localhost work] ldconfig
Apache 에서 인식할 수 있도록 Apache를 재실행합니다.
[root@localhost work] systemctl restart httpd.service
아래와 같은 간단한 소스를 test.php라는 파일로 /home/httpd/html 안에다 만들어 실행해 봅니다.
[root@www /html]#vi test.php <? phpinfo(); ?>
그 다음 http://작업하고있는 서버 도메인 or IP/test.php ◀ php에 대한 정보가 나오면 성공입니다. 확인 후 테스트 소스는 삭제합니다.
PHP 7.2.x 이상 버전에서 Mcrypt 모듈을 추가하고자 할 때 아래와 같이 진행합니다.
[root@localhost ~]# cd /work
[root@localhost work]# wget https://pecl.php.net/get/mcrypt-1.0.2.tgz
[root@localhost work]# tar zxvf mcrypt-1.0.2.tgz
[root@localhost work]# cd mcrypt-1.0.2/
[root@localhost mcrypt-1.0.2]# /usr/local/php/bin/phpize
[root@localhost mcrypt-1.0.2]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost mcrypt-1.0.2]# make
[root@localhost mcrypt-1.0.2]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20170718/
[root@localhost mcrypt-1.0.2]# vi /usr/local/php/lib/php.ini
▼ 아래의 내용을 추가
[mcrypt]
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/mcrypt.so
[root@localhost mcrypt-1.0.2]# /usr/local/apache2/bin/httpd -t
Syntax OK
[root@localhost mcrypt-1.0.2]# systemctl restart httpd.service
[root@localhost php-7.2.13]# /usr/local/php/bin/php -m | grep mcrypt
mcrypt
5. Tomcat 설치
5.1 OpenJDK 설치
설치 가능한 OpenJDK 버전 확인
[root@localhost work]# yum list java*jdk-devel
java-버전-openjdk 패키지 : JRE
java-버전-openjdk-devel 패키지 : JDK
yum으로 JDK를 설치할 때 의존성이 걸려있는 JRE 및 기타 라이브러리들도 같이 설치됩니다.
[root@localhost work]# yum -y install java-1.8.0-openjdk-devel.x86_64
버전 확인
[root@localhost work]# rpm -qa java*jdk-devel
[root@localhost work]# javac -version
5.2. Tomcat 설치
[root@localhost work]#
wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz
[root@localhost work]# tar zxvf apache-tomcat-8.5.57.tar.gz
[root@localhost work]# mv apache-tomcat-8.5.57 /usr/local
[root@localhost work]# cd /usr/local
[root@localhost local]# ln -s apache-tomcat-8.5.57 tomcat
5.3. 환경변수 PATH 설정
JDK를 다운로드해서 설치했는지, yum으로 설치했는지에 따라 PATH 설정 값이 달라지므로 주의합니다.
환경변수 및 버전 확인
[root@localhost work]# echo $JAVA_HOME
[root@localhost work]# javac -version
javac 위치 확인
[root@localhost work]# which javac
[root@localhost work]# readlink -f /bin/javac
[root@mail work]# vi /etc/profile
####java##########
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64
export CATALINA_HOME=/usr/local/tomcat
PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH
export CLASSPATH=./:$JAVA_HOME/lib/tools.jar:/usr/local/tomcat/lib/servlet-api.jar
[root@localhost work]# source /etc/profile
5.4 아파치 톰켓 커넥터 모듈 설치(tomcat-connectors, mod_jk)
http://jakarta.apache.org/에서 현재 설치 버전에 맞는 커넥터 소스 파일을 다운로드합니다.
[root@localhost work]# wget http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz
해당 파일의 압축을 풀고 모듈을 설치합니다.
[root@localhost work]# tar zvxf tomcat-connectors-1.2.46-src.tar.gz
[root@localhost work]# cd tomcat-connectors-1.2.46-src/native
[root@localhost native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
[root@localhost native]# make
[root@localhost native]# make install
[root@localhost native]# ls -al /usr/local/apache2/modules/mod_jk.so
-rwxr-xr-x. 1 root root 1143810 2018-12-30 22:49 mod_jk.so
workers.properties 파일을 아파치 conf 디렉토리로 복사한 후 아래와 같이 수정합니다.
[root@localhost native]# cp ../conf/workers.properties /usr/local/apache2/conf/
[root@localhost work]# vi /usr/local/apache2/conf/workers.properties
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
아파치의 httpd.conf 에 모듈 설정 부분을 추가합니다.
################ JK Connetion #########################
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "/usr/local/apache2/conf/workers.properties"
JkLogFile "logs/mod_jk.log"
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkMountCopy On
JkMount /*.jsp ajp13
JkMount /admin ajp13
JkMount /admin/* ajp13
JkMount /jsp-examples ajp13
JkMount /jsp-examples/* ajp13
jkMount /servlets-examples ajp13
JkMount /servlets-examples/* ajp13
JkMount /webdav ajp13
JkMount /*.do ajp13
5.5. mysql jdbc 드라이버 설치
http://dev.mysql.com/downloads/connector/j/5.1.html 에서 드라이버 파일 다운로드 후
tomcat/common/lib 에 복사하여 붙여 넣습니다. (tomcat restart 해야 적용됨)
[root@localhost work]# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz
[root@localhost work]# tar zxvf mysql-connector-java-5.1.47.tar.gz
[root@localhost work]# cd mysql-connector-java-5.1.47
[root@localhost mysql-connector-java-5.1.47]# cp mysql-connector-java-5.1.47-bin.jar /usr/local/tomcat/lib
5.6. VirtualHost 추가 (virtualhost 할 때 추가)
1) httpd.conf 설정
<VirtualHost XXX.XXX.XXX.XXX >
DocumentRoot /home/httpd/html/ROOT
ServerName hosting.inet.co.kr
Options ExecCgi FollowSymlinks
JkMount /examples/* ajp13
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
CustomLog "|/usr/local/apache2/bin/rotatelogs logs/도메인-access_log.%Y%m%d 1000M" common env=!IMAGE
</VirtualHost>
2) server.xml 설정
<Host name="hosting.inet.co.kr" reloadable="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix=”hosting.inet.co.kr_access_log." suffix=".txt" pattern="combined"
resolveHosts="false"/>
<Context path="/java" docBase="/home/httpd/html/java" debug="0" reloadable="true"
crossContext="true" />
<Context path="" docBase="/home/httpd/html" debug="0" reloadable="true"
crossContext="true" />
</Host>
5.7. catalina.out 로그 파일 null 설정
톰캣을 실행하게 되면 톰캣 설치 경로/logs 안에 Catalina.out 파일과 아래의 4개 타입의 로그 파일이 생성됩니다.
- Java Logging API(localhost.yyyy-MM-dd.log)
- Servlets logging API(manager.yyyy-MM-dd.log)
- Console(catalina.out.yyyy-MM-dd.log)
- Access logging(access_log.yyyy-MM-dd.log)
catalina.out 파일의 경우 톰캣에서 생성되는 Console 로그들이 저장이 되는데 해당 로그는 이미
catalina.out.yyyy-MM-dd.log 에 시간별로 나누어 저장되기 때문에 용량만 차지하고 로그 관리가 안되는 문제가 있습니다.
따라서 아래와 같이 불필요하게 catalina.out 파일에 로그가 쌓이지 않도록 설정합니다.
[root@localhost work]# cd /usr/local/tomcat/bin
[root@localhost bin]# cp catalina.sh catalina.sh_bak
[root@localhost bin]# vi catalina.sh
설정 이후 톰캣 재시작 진행하면 catalina.out 을 제외한 로그 파일에만 로그가 쌓이게 됩니다.
기존 설정 변경
touch "$CATALINA_OUT" 주석 처리
#touch "$CATALINA_OUT"
>> "$CATALINA_OUT" 2>&1 "&" 기존 설정 주석 후 null 설정 추가
\>\> \/dev\/null 2\>\&1 "&"
#>> "$CATALINA_OUT" 2>&1 "&"
5.8. Tomcat 8.5.51, 9.0.31 릴리즈 이후 변동 사항
아래와 같이 server.xml 내용을 바꿔주어야 합니다 (주석 제거 필수)
[server.xml]
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"
address="0.0.0.0" (기존 내용 address="::1")
secretRequired="false" (설정 추가)
port="8009"
redirectPort="8443" />
5.9. systemctl 설정
시스템 부팅시 tomcat 이 실행 될수 있도록 systemctl 설정
[root@localhost work]# vi /usr/lib/systemd/system/tomcat.service
▼ 아래 내용 추가
[Unit]
Description=tomcat 8.5 Service
After=network.target syslog.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/java
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CLASSPATH=./:$JAVA_HOME/lib/tools.jar:/usr/local/tomcat/lib/servlet-api.jar
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
[root@localhost work]# systemctl enable tomcat.service (추가)
[root@localhost work]# systemctl list-unit-files | grep tomcat (확인)
[root@localhost work]# systemctl restart tomcat.service
5.10. 서비스 데몬 가동
아파치를 가동합니다.
[root@localhost work]# systemctl restart httpd.service
tomcat을 가동시킵니다.
[root@localhost work]# systemctl start tomcat.service

하단 푸터