Tomcat8.5를 설치하고 jsvc에서 서비스 시작 for CentOS7.2
소개
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
참고
Reference
이 문제에 관하여(Tomcat8.5를 설치하고 jsvc에서 서비스 시작 for CentOS7.2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shadowhat/items/7feaafcfa966fca51dd8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)