在CentOS7上用Systemctl配置Tomcat 8.5.4

環(huán)境準備

安裝java環(huán)境

[root@snails ~]# yum -y install java
[root@snails local]# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

對于需要jdk tool進行操作的業(yè)務(wù)場景盛撑,可以采用從官方下載jdk的壓縮包仑扑。

[root@snails ~]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz" -O jdk-8u60-linux-x64.tar.gz

下載tomcat并解壓

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.36/bin/apache-tomcat-8.0.36.tar.gz -P /usr/local
[root@snails local]# cd /usr/local/
[root@snails local]# tar -zxvf apache-tomcat-8.0.36.tar.gz > /dev/nul
[root@snails local]# ln -s /usr/local/apache-tomcat-8.0.36 /usr/local/tomcat
[root@snails local]# rm -rvf apache-tomcat-8.0.36.tar.gz 
已刪除"apache-tomcat-8.0.36.tar.gz"

設(shè)置環(huán)境變量

[root@snails local]# vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export CLASS_PATH=.:$JAVA_HOME/lib
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin:$CATLINA_HOME:/bin
[root@snails ~]# source /etc/profile

centos7 使用 systemctl 替換了 service命令

[root@snails ~]# systemctl list-unit-files --type service  #查看全部服務(wù)命令
[root@snails ~]# systemctl status name.service #查看服務(wù)命令
[root@snails ~]# systemctl start name.service  #啟動服務(wù)
[root@snails ~]# systemctl stop name.service  #停止服務(wù)
[root@snails ~]# systemctl restart name.service  #重啟服務(wù)
[root@snails ~]# systemctl enable name.service  #增加開機啟動
[root@snails ~]# systemctl disable name.service  #刪除開機啟動

tips: 其中.service 可以省略。

tomcat增加啟動參數(shù)

tomcat 需要增加一個pid文件

在tomca/bin 目錄下面肴甸,增加 setenv.sh 配置诫给,catalina.sh啟動的時候會調(diào)用,同時配置java內(nèi)存參數(shù)穗熬。

[root@snails ~]# vi /usr/local/tomcat/bin/setenv.sh
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

創(chuàng)建tomcat啟動用戶并授權(quán)

[root@snails ~]# getent group tomcat || groupadd -r tomcat
[root@snails ~]# getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat
[root@snails ~]# chown -R tomcat:tomcat /usr/local/apache-tomcat-8.0.36

增加systemd-tomcat.service

在/usr/lib/systemd/system目錄下增加systemd-tomcat.service镀迂,目錄必須是絕對目錄丁溅。

[root@snails ~]# cd /usr/lib/systemd/system
[root@snails ~]# cat >systemd-tomcat.service <<EOF
[Unit]
Description=Apache Tomcat 8
After=syslog.target network.target
 
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh 
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=tomcat
Group=tomcat 

[Install]
WantedBy=multi-user.target
EOF

使用systemd-tomcat.service

[root@snails ~]# systemctl enable systemd-tomcat
[root@snails ~]# systemctl start systemd-tomcat
[root@snails ~]# ps aux |grep tomcat
tomcat    1304 34.8  2.8 3570504 102908 ?      Sl   14:36   0:03 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
[root@snails system]# curl -I localhost:8080
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 14 Jul 2016 06:39:13 GMT

因為配置pid,在啟動的時候會再tomcat根目錄生成tomcat.pid文件探遵,停止之后刪除窟赏。
同時tomcat在啟動時候妓柜,執(zhí)行start不會啟動兩個tomcat,保證始終只有一個tomcat服務(wù)在運行涯穷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末棍掐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拷况,更是在濱河造成了極大的恐慌作煌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,423評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赚瘦,死亡現(xiàn)場離奇詭異粟誓,居然都是意外死亡,警方通過查閱死者的電腦和手機起意,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評論 2 385
  • 文/潘曉璐 我一進店門鹰服,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人揽咕,你說我怎么就攤上這事悲酷。” “怎么了亲善?”我有些...
    開封第一講書人閱讀 157,019評論 0 348
  • 文/不壞的土叔 我叫張陵设易,是天一觀的道長。 經(jīng)常有香客問我蛹头,道長亡嫌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,443評論 1 283
  • 正文 為了忘掉前任掘而,我火速辦了婚禮挟冠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘袍睡。我一直安慰自己知染,他們只是感情好,可當我...
    茶點故事閱讀 65,535評論 6 385
  • 文/花漫 我一把揭開白布斑胜。 她就那樣靜靜地躺著控淡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪止潘。 梳的紋絲不亂的頭發(fā)上掺炭,一...
    開封第一講書人閱讀 49,798評論 1 290
  • 那天,我揣著相機與錄音凭戴,去河邊找鬼涧狮。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的者冤。 我是一名探鬼主播肤视,決...
    沈念sama閱讀 38,941評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼涉枫!你這毒婦竟也來了邢滑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,704評論 0 266
  • 序言:老撾萬榮一對情侶失蹤愿汰,失蹤者是張志新(化名)和其女友劉穎困后,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衬廷,經(jīng)...
    沈念sama閱讀 44,152評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡操灿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,494評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了泵督。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趾盐。...
    茶點故事閱讀 38,629評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖小腊,靈堂內(nèi)的尸體忽然破棺而出救鲤,到底是詐尸還是另有隱情,我是刑警寧澤秩冈,帶...
    沈念sama閱讀 34,295評論 4 329
  • 正文 年R本政府宣布本缠,位于F島的核電站,受9級特大地震影響入问,放射性物質(zhì)發(fā)生泄漏丹锹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,901評論 3 313
  • 文/蒙蒙 一芬失、第九天 我趴在偏房一處隱蔽的房頂上張望楣黍。 院中可真熱鬧,春花似錦棱烂、人聲如沸租漂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哩治。三九已至,卻和暖如春衬鱼,著一層夾襖步出監(jiān)牢的瞬間业筏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評論 1 266
  • 我被黑心中介騙來泰國打工鸟赫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蒜胖,地道東北人消别。 一個月前我還...
    沈念sama閱讀 46,333評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像翠勉,于是被迫代替她去往敵國和親妖啥。 傳聞我的和親對象是個殘疾皇子霉颠,可洞房花燭夜當晚...
    茶點故事閱讀 43,499評論 2 348

推薦閱讀更多精彩內(nèi)容