確保Debian上的Apache Tomcat穩定運行涉及多個方面,包括安裝、配置、性能優化、安全設置和故障排查。以下是一個詳細的指南:
sudo apt update
sudo apt upgrade
sudo apt install default-jdk
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
sudo tar -xvf apache-tomcat-9.0.56.tar.gz -C /opt/tomcat --strip-components 1
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R 755 /opt/tomcat/conf
sudo chown -R tomcat /opt/tomcat/webapps/ /opt/tomcat/work/ /opt/tomcat/temp/ /opt/tomcat/logs/
sudo nano /etc/systemd/system/tomcat.service
添加以下內容:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/default-java
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
http://localhost:8080
,如果看到Tomcat的默認歡迎頁面,則表示安裝成功。修改端口號:
編輯 /etc/tomcat9/server.xml
文件,修改 Connector
標簽中的 port
屬性以更改Tomcat的默認端口(如8080)。
配置為域名訪問:
在 server.xml
中配置 Host
標簽,并修改本地 hosts
文件以映射域名到IP地址。
設置字符編碼:
在 Connector
標簽中添加 uriencoding
屬性以指定字符編碼,如 utf-8
。
管理用戶權限:
編輯 /etc/tomcat9/tomcat-users.xml
文件,添加用戶角色和權限。
配置JDK路徑: 確保Tomcat使用的JDK路徑已正確配置。
啟用NIO模式:
修改 server.xml
中的連接器節點,將協議改為 org.apache.coyote.http11.http11nio2
。
負載均衡配置: 安裝Nginx并配置Nginx作為反向代理,實現Tomcat的負載均衡。
Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000" redirectPort="8443"
Connector port="8443" protocol="org.apache.coyote.http2.Http2Protocol" maxThreads="150" SSLEnabled="true"
SSLHostConfig Certificate certificateKeyFile="/conf/localhost-rsa-key.pem" certificateFile="/conf/localhost-rsa-cert.pem" certificateChainFile="/conf/localhost-rsa-chain.pem" type="RSA"
maxThreads
、minSpareThreads
和 acceptCount
。Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="50" maxQueueSize="100"
Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"
export CATALINA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"
操作系統調優: 增加可用內存容量,提高CPU頻率,保證文件系統的讀寫速率。
禁用不必要功能: 根據實際需要禁用Tomcat中不需要的功能,如關閉DNS查詢、按需啟用SSL等。
使用監控工具: 如VisualVM、JConsole等,監控Tomcat的性能指標,并根據監控結果進行調優。
日志管理:
使用 logrotate
等日志管理工具自動輪轉、壓縮、刪除和郵件系統日志文件,以避免單個日志文件過大。
異常檢測與響應: 通過分析Tomcat日志中的錯誤和異常信息,及時響應和解決問題。
訪問日志控制:
在 server.xml
中配置 AccessLogValve
來記錄訪問日志,并設置 rotatable
屬性為 true
以啟用日志輪轉。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/tomcat9" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" rotatable="true" maxDays="10"/>
通過以上步驟,您可以在Debian上成功安裝、配置、優化和監控Tomcat,確保其穩定運行。如果有任何問題,請檢查日志文件以獲取更多信息。