生產環境:
Server version: Apache Tomcat/8.5.16
CentOS Linux release 7.3.1611 (Core) x86-64
1.Apache Tomcat/8.5.16依賴jre7及以上版本,不過jdk高版本已經包含jre,關於jdk&jre的安裝請查看《Linux JAVA JDK JRE 環境變量安裝與配置》
2.創建tomcat專有用戶
groupadd tomcat
useradd -g tomcat -s /bin/false tomcat
或
useradd -g tomcat -s /sbin/nologin tomcat
注意:
-g tomcat用戶隸屬於tomcat組
-s /bin/false 禁用shell訪問
3.Apache Tomcat 8.5下載安裝與配置&設置用戶組權限並創建軟連接
cd /tmp
wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz
tar zxvf apache-tomcat-8.5.16.tar.gz
mv apache-tomcat-8.5.16 /usr/local/
cd /usr/local/
chown -hR tomcat:tomcat apache-tomcat-8.5.16
ln -s apache-tomcat-8.5.16 tomcat
4.添加tomcat自啓動systemd服務單元文件
vim /lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 8
After=syslog.target network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/local/jdk/jre
Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx4096M -server -XX:+UseParallelGC'
Environment='CATALINA_OPTS=-Dfile.encoding=UTF-8 -server -Xms2048m -Xmx2048m -Xmn1024m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
5.重載systemd服務單元,給予軟連接目錄權限,啓動Apache Tomcat服務並設置Tomcat爲開機自啓動
systemctl daemon-reload
cd /usr/local/
chown -hR tomcat:tomcat tomcat
systemctl start tomcat
systemctl enable tomcat
6.配置Apache Tomcat用戶實現遠程登錄
在tomcat-users.xml文件<tomcat-users></tomcat-users>中間添加;
vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
tomcat8.5之後的版本,已經增強遠程登錄安全過濾規則,默認不支持遠程登錄,需要修改配置文件。
修改文件:
/host-manager/META-INF/context.xml
/manager/META-INF/context.xml
默認值:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.\d+.\d+.\d+|::1|0:0:0:0:0:0:0:1" />
修改爲:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
addConnectorPort="true"
allow="127.\d+.\d+.\d+;\d|::1;\d|0:0:0:0:0:0:0:1;\d|.;8080"/>
詳情可查看 Valve 文檔
7.配置Firewalld防火牆
如果不放行8080端口,就無法在外部使用8080進行訪問,現在將端口放行並重載firewall服務
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
firewall-cmd --list-services
目前爲止Apache Tomcat 8.5.16已經成功安裝。現在您可以使用IP:port進行測試訪問。