在 CentOS 上部署 Java 项目,通常分为 环境准备 → 项目打包 → 上传服务器 → 运行/后台运行 → (可选)反向代理/开机自启 几个步骤。下面给你一套最常用、实用的方案。
推荐使用 JDK 8 或 JDK 11(根据项目要求)
# 查看可用版本
yum list java-*openjdk*
# 安装 JDK 8
sudo yum install -y java-1.8.0-openjdk-devel
# 验证
java -version
如果是 Spring Boot 项目,JDK 即可,不需要 Tomcat。
如果服务器上需要打包:
sudo yum install -y maven
mvn -version
mvn clean package -DskipTests
生成:
target/xxx.jar
scp target/xxx.jar root@服务器IP:/opt/java/
cd /opt/java
java -jar xxx.jar
nohup java -jar xxx.jar > app.log 2>&1 &
查看日志:
tail -f app.log
yum install -y tomcat
或手动下载:
wget https://archive.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
tar -zxvf apache-tomcat-9.0.85.tar.gz -C /opt/
cp xxx.war /opt/tomcat/webapps/
/opt/tomcat/bin/startup.sh
访问:
http://IP:8080/xxx
# 开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
如果是云服务器,还要在安全组放通端口。
yum install -y nginx
配置示例:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
systemctl restart nginx
vim /etc/systemd/system/javaapp.service
内容:
[Unit]
Description=Java App
After=network.target
[Service]
User=root
ExecStart=/usr/bin/java -jar /opt/java/xxx.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
启动:
systemctl daemon-reload
systemctl start javaapp
systemctl enable javaapp
lsof -i:8080
java -Xms256m -Xmx512m -jar xxx.jar
如果你愿意,可以告诉我:
我可以直接给你专属部署命令。