溫馨提示×

Tomcat在Ubuntu上的最佳實踐

小樊
53
2025-03-09 23:45:17
欄目: 智能運維

在Ubuntu上部署和配置Tomcat時,遵循最佳實踐可以確保服務器的安全性、性能和穩定性。以下是一些關鍵步驟和最佳實踐:

安裝和配置

  1. 更新系統

    sudo apt update
    sudo apt upgrade
    
  2. 安裝Java

    安裝OpenJDK,例如:

    sudo apt install openjdk-11-jdk
    
  3. 下載并解壓Tomcat

    Tomcat官網下載最新版本的Tomcat,然后解壓到適當的位置,例如/opt/tomcat。

  4. 配置環境變量

    編輯~/.bashrc文件,添加以下內容:

    export CATALINA_HOME=/opt/tomcat
    export PATH=$PATH:$CATALINA_HOME/bin
    

    使配置生效:

    source ~/.bashrc
    
  5. 啟動和啟用Tomcat服務

    創建systemd服務文件:

    sudo nano /etc/systemd/system/tomcat.service
    

    添加以下內容:

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=forking
    Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    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
    
    User=tomcat
    Group=tomcat
    UMask=0007
    RestartSec=10
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    啟用并啟動Tomcat服務:

    sudo systemctl daemon-reload
    sudo systemctl start tomcat
    sudo systemctl enable tomcat
    

安全性

  1. 限制管理控制臺訪問

    重命名管理控制臺目錄,例如將manager重命名為new_manager,并限制訪問IP地址。

  2. 配置管理用戶的驗證

    $CATALINA_HOME/conf/tomcat-users.xml中創建用戶并分配必要的角色。

  3. 配置SSL/TLS

    獲取SSL/TLS證書,編輯$CATALINA_HOME/conf/server.xml文件,配置連接器以啟用HTTPS:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               sslEnabled="true" maxThreads="150" scheme="https" secure="true"
               keystoreFile="/path/to/your/keystore.p12"
               keystorePass="your_keystore_password"
               keyAlias="tomcat"
               clientAuth="false" sslProtocol="TLS" />
    

性能優化

  1. JVM調優

    編輯$CATALINA_HOME/bin/catalina.sh,設置JVM參數:

    JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseParallelGC"
    
  2. 線程池配置

    $CATALINA_HOME/conf/server.xml中配置連接器線程池參數:

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxThreads="250"
               minSpareThreads="50"
               maxConnections="1000"
               acceptCount="100" />
    
  3. 內核參數優化

    編輯/etc/sysctl.conf文件,優化網絡棧參數:

    net.ipv4.tcp_syncookies=1
    net.ipv4.tcp_tw_reuse=1
    net.ipv4.tcp_tw_recycle=1
    net.ipv4.tcp_fin_timeout=60
    net.ipv4.tcp_synack_retries=1
    net.ipv4.tcp_syn_retries=1
    net.ipv4.tcp_fastopen=3
    net.ipv4.tcp_keepalive_time=1200
    net.ipv4.tcp_max_syn_backlog=8192
    net.ipv4.tcp_max_tw_buckets=5000
    net.ipv4.ip_local_port_range="1024 65535"
    net.core.netdev_max_backlog=8192
    net.core.somaxconn=8192
    net.core.rmem_max=12582912
    net.core.rmem_default=6291456
    net.core.wmem_max=12582912
    net.core.wmem_default=6291456
    

    應用配置:

    sudo sysctl -p
    
  4. 啟用壓縮

    $CATALINA_HOME/conf/server.xml中配置連接器以啟用壓縮:

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               compression="on"
               compressableMimeType="text/html,text/xml,text/plain,application/octet-stream" />
    

遵循這些最佳實踐,您可以在Ubuntu上成功部署和配置Tomcat,確保其安全性、性能和穩定性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女