在 CentOS7 上安裝 Tomcat9
1 通過 SecureCRT 連接到阿裡雲 CentOS7 服務器;
2 進入到目錄 /usr/local/ 中:
cd /usr/local/
3 創建目錄 /usr/local/tools,如果有則忽略:
mkdir -p tools
4 創建 /usr/local/tomcat 目錄,如果已存在則忽略:
mkdir -p tomcat
5 進入到目錄 /usr/local/tools 中:
cd tools/
6 下載 apache-tomcat-9.0.0.M4.tar.gz 文件:
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M4/bin/apache-tomcat-9.0.0.M4.tar.gz
7 解壓縮 apache-tomcat-9.0.0.M4.tar.gz:
tar -zxvf apache-tomcat-9.0.0.M4.tar.gz
8 將通過解壓得到的 apache-tomcat-9.0.0.M4 文件復制到 /usr/local/tomcat 目錄中:
mv apache-tomcat-9.0.0.M4 ../tomcat/
9 打開文件 /etc 目錄下的 profile 文件:
vim /etc/profile
將如下代碼追加到 profile 文件末尾:
# idea - tomcat9 config start - 2016-05-01
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4
CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M4
PATH=$PATH:$CATALINA_BASE/bin
export PATH CATALINA_BASE
# idea - tomcat9 config end - 2016-05-01
保持並推出:wq!
10 修改 tomcat 的端口號和字符編碼:
進入到 /usr/local/tomcat/apache-tomcat-9.0.0.M4/conf 目錄中:
cd ../tomcat/apache-tomcat-9.0.0.M4/conf
打開 tomcat 服務的配置文件 server.xml:
vi server.xml
找到如下代碼:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
將其中的 8080 改成 HTTP 協議的默認端口 80,改後的代碼如下:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
11 增加 manager-gui 圖形化管理界面的訪問權限(不需要的話,此步驟可忽略):
打開 tomcat 的用戶配置文件 tomcat-users.xml:
vi tomcat-users.xml
在 </tomcat-users> 標簽前加入如下代碼:
<user username="tomcat" password="tomcat" roles="manager-gui"/>
這裡設置的 username 和 password 都是 password,角色為 manager-gui;
鍵入 Esc 並輸入“:wq!”保持並退出;
12 進入到 /usr/local/tomcat/apache-tomcat-9.0.0.M4/bin 目錄中:
cd ../bin/
13 打開 vi catalina.sh 文件:
在 # OS specific support. 前面加入如下代碼:
JAVA_HOME=/usr/local/jdk/jdk1.8.0_91
JRE_HOME=$JAVA_HOME/jre
鍵入 Esc 並輸入“:wq!”保持並退出;
14 啟動 tomcat 服務:
./startup.sh
打印如下信息則表明啟動 Tomcat 服務成功:
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-9.0.0.M4
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-9.0.0.M4
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-9.0.0.M4/temp
Using JRE_HOME: /usr/local/jdk/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/tomcat-juli.jar
Tomcat started.
打開浏覽器輸入 IP 地址看看吧!如果出現了我們的可愛的“小黃貓”則表明我們的 Tomcat 已提供服務啦!
15 關閉 tomcat 服務:
./shutdown.sh
打印如下信息則表明關閉 Tomcat 服務成功:
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-9.0.0.M4
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-9.0.0.M4
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-9.0.0.M4/temp
Using JRE_HOME: /usr/local/jdk/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/tomcat-juli.jar
注意:不可連續執行多次 ./shutdown.sh 命令,多次後報如下錯誤:
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:476)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:408)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)
16 將 tomcat9 加入到系統服務列表中:
進入到 /etc/init.d 目錄中:
cd /etc/init.d
創建 tomcat9 服務配置文件:
vi tomcat9
將如下代碼加入寫入到 tomcat9 配置文件中:
# idea - tomcat config start - 2016-05-01
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 2345 20 80
JAVA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4/
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4/
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
#chmod 755 tomcat
#chkconfig --add tomcat
#chkconfig --level 2345 tomcat on
#chkconfig --list tomcat
# idea - tomcat config end - 2016-05-01
鍵入 Esc 並輸入“:wq!”保持並退出;
其中的注意點是將 JAVA_HOME 和 CATALINA_HOME 變量設置成與我們當前配置相一致的路徑;
17 為 tomcat9 分配可執行權限:
chmod +x tomcat9
18 將 tomcat9 納入到系統的服務列表中,即添加 tomcat9 為系統服務:
chkconfig --add tomcat9
19 查看當前系統服務都有哪些:
chkconfig --list
也可以查看指定的系統服務,如這裡我們指定 tomcat9 這個服務:
chkconfig --list tomcat9
打印如下信息:
tomcat9 0:off 1:off 2:on 3:on 4:on 5:on 6:off
則表明已將 tomcat9 設置為系統服務,2、3、4、5 都為 on 表示可隨系統自動啟動;
20 我們可以在任意目錄下執行關閉、啟動、重啟 Tomcat9 服務啦:
20.1 關閉 tomcat9 服務:
service tomcat9 stop
20.2 啟動 tomcat9 服務:
service tomcat9 start
20.3 重啟 tomcat9 服務:
service tomcat9 restart
後記:
linux 系統中的 /etc 目錄表示“設備”,意為與硬件設備相關的信息;
/etc/init.d 目錄下的文件表示當前設備的初始化配置信息;
命令 chkconfig 表示添加(--add)、刪除(--del)、查看(--list)系統服務;