在Debian上部署Tomcat應用時,遵循以下最佳實踐可以幫助確保服務器的穩定性、安全性和性能:
sudo apt update
sudo apt install default-jdk
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
tar -zxvf apache-tomcat-9.0.76.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/bin/*.sh
sudo chown -R tomcat:tomcat /opt/tomcat
sudo nano /etc/systemd/system/tomcat.service
在文件中添加以下內容,并修改 JAVA_HOME
以匹配你的JDK安裝路徑:[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/apache-tomcat-9.0.76"
Environment="CATALINA_BASE=/opt/tomcat"
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的默認歡迎頁面,則表示安裝成功。/opt/tomcat/conf/server.xml
,修改連接器參數以啟用NIO模式并調整線程池大?。?pre class="hljs"><Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol" maxThreads="200" minSpareThreads="10" acceptCount="100" compression="on" compressionMinSize="2048" />
<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" />
</SSLHostConfig>
</Connector>
server.xml
中配置線程池參數:<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" />
catalina.sh
中設置JVM參數:export CATALINA_OPTS="-Xms512m -Xmx1024m -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:UseParallelGC"
server.xml
中配置壓縮參數:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/plain,application/json" />
/opt/tomcat/conf/tomcat-users.xml
,添加管理員賬戶:<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="StrongP@ssw0rd!" roles="manager-gui,admin-gui"/>
</tomcat-users>
server.xml
中修改默認端口(如8080)以避免容易被掃描。tomcat/s3cret
。web.xml
中配置以防止泄露服務器版本。logging.properties
文件,啟用按天分割日志文件:handlers = 1catalina.org.apache.juli.AsyncFileHandler
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.rotatable = true
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
sudo systemctl status tomcat
sudo systemctl schedule-restart tomcat
通過以上步驟,你可以在Debian上成功安裝并運行Tomcat,并確保其高效、安全地運行。如果有任何問題,請檢查日志文件以獲取更多信息。