CentOS 7下安裝Tomcat到服務

環境:html

CentOS Linux release 7.3.1611 (Core)
3.10.0-514.16.1.el7.x86_64

1.安裝Java環境

Jre有ServerJre和Jre的區別。二者具體的區別就是ServerJre啓動時默認Jvm是Server模式,且包含了一些監控工具,具體的區別見Oracle的站點。如今廣泛存在的一個問題就是大部分JAVA程序是基於JAVA7開發的,可是Oracle早就更新到了Java8,且網站上默認提供的是Jre8的下載。不過,不管你要下載哪一個版本的JRE,均可以在這裏找到。下載ServerJre以前須要單選 Accept License Agreement 來激活下載連接。這裏選擇的是server-jre-7u80-linux-x64.tar.gz 。下載完畢,解壓到 /usr/local/, 這裏須要注意的是,解壓後的server-jre-7u80-linux-x64.tar.gz 名字是jdk1.7.0_79,可是我測試過,這個跟真正的JDK文件是有所不一樣的。解壓完畢後,編輯 /etc/profile設置環境變量並驗證:java

cat >>/etc/profile << "EOF"
#set java env
JAVA_HOME=/usr/local/jdk1.7.0_80
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
EOF

source /etc/profile

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

至此,java環境安裝完畢。linux

2.安裝tomcat

直接下載apache-tomcat-7.0.72.tar.gz並解壓,將解壓後的目錄重命名爲tomcat7,並移至 /opt 下,而後建立運行環境文件:web

vim /opt/tomcat7/bin/setenv.sh

內容與/etc/profile尾部保持一致:apache

JAVA_HOME=/usr/local/jdk1.7.0_80
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

至此tomcat安裝和設置完成。vim

3.建立tomcat運行用戶並賦權到對應文件。

groupadd tomcat
useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat #此處假設爲tomcat,若是是生產服務器,建議使用環境部署帳號來運行tomcat.
cd /opt/tomcat7
chmod -R 754 bin/
chgrp -R tomcat /opt/tomcat
chmod -R g+r conf
chmod g+x conf
chown -R tomcat webapps/ work/ temp/ logs/

至此,相關賦權完成。tomcat

4.編輯服務文件

vim /etc/systemd/system/tomcat.service

設置以下,可是你可能須要根據你的內存容量自行調整 CATALINA_OPTS的值,通常的要將-Xms和-Xmx選項設置爲相同,而-Xmn爲1/4的-Xmx值,建議堆的最大值設置爲可用內存的最大值的80%:服務器

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking


Environment=CATALINA_PID=/opt/tomcat7/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat7
Environment=CATALINA_BASE=/opt/tomcat7
Environment='CATALINA_OPTS=-Xms128M -Xmx512M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat7/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

而後重載一下服務單元:oracle

systemctl daemon-reload

至此所有設置完成。app

5.測試

systemctl start tomcat

[root@localhost ~]# curl -I 127.0.0.1:8080
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=ISO-8859-1
Transfer-Encoding: chunked
Date: Tue, 06 Jun 2017 02:27:16 GMT
systemctl stop tomcat
curl -I 127.0.0.1:8080
curl: (7) Failed connect to 127.0.0.1:8080; Connection refused

完成。

相關文章
相關標籤/搜索