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,实现应用开机自启动。