Tomcat8.5를 설치하고 jsvc에서 서비스 시작 for CentOS7.2

7512 단어 Tomcat8centos7Tomcat

소개



CentOS7에서 제공되는 rpm의 Tomcat은 systemd가 된 경우도 있고, 일반적인 startup.sh와 shutdown.sh가 호출 된 시작 스크립트가되는 것 같습니다.
Tomcat은 tomca-native라는 서비스로 시작하는 jsvc 모듈을 제공하므로 Apache Tomcat에서 제공하는 정품 Tomcat 바이너리와 jsvc 모듈을 컴파일하고 jsvc를 통해 시작하는 방법을 기록해 둡니다. 합니다.
개인적인 견해입니다만, jsvc를 이용한 방법 쪽이 Tomcat를 기동하면, Tomcat이 고부하가 되어, OutOfMemory등의 장해가 발생했을 경우에, 프로세스가 유령이 되기 어렵게 생각합니다. (일반 Java 프로세스로 시작하여 고부하 문제가 발생하면 java 프로세스가 유령이되는 경험을 결행했습니다)
2016년 9월 현재, JDK는, JDK8-101, Tomcat은, 8.5.5가 최신판입니다.
이번에도 위의 버전으로 작업을 실시합니다.

실천 환경 버전 정보




소프트웨어
버전


JDK
1.8.0_101

Tomcat
8.5.5

OS
CentOS 7.2


JavaSDK 준비



여기는 라이센스 동의 관계로 WGET에서 다운로드하기가 어렵습니다.
미리 관리 단말기에서 다운로드한 파일을 전송하거나 서버 브라우저에서 다운로드하십시오.

JavaSDK 다운로드



Accept License Agreement를 클릭한 후 "Linux x64"의 JDK를 다운로드합니다.


압축을 풀고 배치


tar xvzf jdk-8u101-linux-x64.tar.gz
cp -rf jdk1.8.0_101 /usr/local

환경 변수 설정


vi ~/.bashrc

하단에 다음을 기재합니다.
export JAVA_HOME=/usr/local/jdk1.8.0_101
export PATH=$JAVA_HOME/bin:$PATH

환경 변수를 반영합니다.
source ~/.bashrc

올바르게 Java 명령이 배포 버전인지 확인
java -version

다음이 결과로 나오면 OK
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Tomcat 배치



다운로드 및 배치


cd /usr/local/src
wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz
tar xvzf apache-tomcat-8.5.5.tar.gz
cp -rf apache-tomcat-8.5.5 /usr/local

사용자를 추가하고 소유자 변경


useradd tomcat
chown tomcat:tomcat -R /usr/local/apache-tomcat-8.5.5

daemon-native 컴파일 및 배치


mkdir -p /usr/local/src/daemon-native
cd /usr/local/apache-tomcat-8.5.5/bin
cp commons-daemon-native.tar.gz /usr/local/src/daemon-native
cd /usr/local/src/daemon-native

#解凍
tar xvzf commons-daemon-native.tar.gz
cd commons-daemon-1.0.15-native-src
cd unix

#コンパイル
#
#64BIT OSの場合以下の環境変数を設定する
export CFLAGS=-m64
export LDFLAGS=-m64

#Configure
./configure --with-java=$JAVA_HOME
make

#ファイルをコピー
cp jsvc /usr/local/apache-tomcat-8.5.5/bin


시작 스크립트 배치


vi /usr/lib/systemd/system/tomcat.service

다음을 붙입니다.
[Unit]
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking
PIDFile=/var/run/tomcat.pid
Environment=CATALINA_PID=/var/run/tomcat.pid
Environment=JAVA_HOME=/usr/local/jdk1.8.0_101
Environment=CATALINA_HOME=/usr/local/apache-tomcat-8.5.5
Environment=CATALINA_BASE=/usr/local/apache-tomcat-8.5.5
Environment="CATALINA_OPTS=-server -Xms2048m -Xmx4096m -XX:MetaspaceSize=1024M -XX:MaxMetaspaceSize=2048M"

ExecStart=/usr/local/apache-tomcat-8.5.5/bin/jsvc \
            -Dcatalina.home=${CATALINA_HOME} \
            -Dcatalina.base=${CATALINA_BASE} \
            -cp ${CATALINA_HOME}/bin/commons-daemon.jar:${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar \
            -user tomcat \
            -java-home ${JAVA_HOME} \
            -pidfile /var/run/tomcat.pid \
            -errfile SYSLOG \
            -outfile SYSLOG \
            $CATALINA_OPTS \
            org.apache.catalina.startup.Bootstrap

ExecStop=/usr/local/apache-tomcat-8.5.5/bin/jsvc \
            -pidfile /var/run/tomcat.pid \
            -stop \
            org.apache.catalina.startup.Bootstrap

[Install]
WantedBy=multi-user.target

Tomcat 시작 및 자동 시작 설정



Tomcat 서비스 자동 시작 설정
systemctl enable tomcat
systemctl start tomcat

참고


  • h tps : // Pa의 vs. 메 / 인 s t- m 또는 t-8- 온 - s-7 /
  • htp : //도 z에 온. 하테나아 ry. 코m/엔트리/2016/03/11/121343
  • 좋은 웹페이지 즐겨찾기