CentOS Java部署實用技巧
sudo yum update -y && sudo yum install java-1.8.0-openjdk-devel -y快速安裝OpenJDK 8(或更高版本),避免手動下載和解壓的繁瑣步驟。安裝后通過java -version、javac -version驗證版本,確認安裝成功。/usr/local目錄(如/usr/local/jdk1.8.0_221),編輯/etc/profile文件添加:export JAVA_HOME=/usr/local/jdk1.8.0_221、export PATH=$JAVA_HOME/bin:$PATH,執行source /etc/profile使配置生效。sudo alternatives --config java列出已安裝版本,按提示選擇默認版本,避免版本沖突。/usr/local/app目錄),使用nohup java -jar your-application.jar > app.log 2>&1 &命令后臺運行,日志輸出至app.log文件。通過tail -f app.log實時查看日志,ps -ef | grep java檢查進程狀態。/usr/local(如/usr/local/tomcat),編輯conf/server.xml調整端口號(如將8080改為80以支持HTTP訪問)。將WAR文件復制至webapps目錄,Tomcat會自動解壓部署。啟動Tomcat:/usr/local/tomcat/bin/startup.sh,通過http://server_ip:8080/yourapp訪問。deploy.sh腳本,包含拉取代碼(git pull)、編譯打包(mvn package)、停止舊進程(kill -9 $(lsof -t -i:8080))、啟動新應用(nohup java -jar app.jar &)等步驟。賦予執行權限:chmod +x deploy.sh,運行腳本即可完成部署,減少手動操作錯誤。checkout scm(拉取代碼)、mvn package(打包)、docker build -t yourapp:latest .(構建鏡像)、docker-compose up -d(啟動容器)。實現代碼提交后自動部署,提升效率。-Xms4g -Xmx4g,初始與最大堆內存一致,避免頻繁擴展)、新生代與老年代比例(-XX:NewRatio=2,老年代占2/3)、垃圾回收器(-XX:+UseG1GC,適用于大內存堆,平衡吞吐量與延遲)。添加GC日志參數(-XX:+PrintGCDetails -Xloggc:/var/log/gc.log),便于分析垃圾回收情況。/etc/security/limits.conf,添加* soft nofile 65536、* hard nofile 65536,提升并發連接能力);優化內核參數(編輯/etc/sysctl.conf,添加net.core.somaxconn=65535、net.ipv4.tcp_max_syn_backlog=65535,增強網絡性能),執行sysctl -p使配置生效。firewall-cmd --permanent --add-port=8080/tcp開放應用端口(如8080),執行firewall-cmd --reload使配置生效。若使用iptables,需同步配置規則,避免端口未開放導致無法訪問。/etc/systemd/system/yourapp.service文件,添加:[Unit]
Description=Your Java Application
After=syslog.target network.target
[Service]
User=appuser
WorkingDirectory=/usr/local/app
ExecStart=/usr/bin/java -jar /usr/local/app/your-application.jar
Restart=always
[Install]
WantedBy=multi-user.target
執行systemctl daemon-reload、systemctl enable yourapp、systemctl start yourapp,實現應用開機自啟動。