下面按常见场景给你讲一下在 Linux 服务器上用 Java 部署项目 的通用流程和几种主流方式,适合 Spring Boot / 普通 Java Web 项目。
常见 Linux:
# Ubuntu / Debian
sudo apt update
sudo apt install openjdk-17-jdk -y
# CentOS
sudo yum install java-17-openjdk-devel -y
验证:
java -version
mvn clean package
# 或
gradle build
生成:
xxx.jar
scp xxx.jar user@ip:/opt/app/
cd /opt/app
java -jar xxx.jar
nohup java -jar xxx.jar > app.log 2>&1 &
创建服务:
sudo vim /etc/systemd/system/myapp.service
内容:
[Unit]
Description=Java App
After=network.target
[Service]
User=appuser
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/xxx.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
启动:
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
sudo apt install tomcat9
cp xxx.war /var/lib/tomcat9/webapps/
访问:
http://ip:8080/xxx
FROM openjdk:17-jdk
COPY xxx.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
docker build -t myapp .
docker run -d -p 8080:8080 myapp
location / {
proxy_pass http://127.0.0.1:8080;
}
sudo ufw allow 8080
ps -ef | grep java
tail -f app.log
curl http://localhost:8080
| 场景 | 推荐方式 |
|---|---|
| 新项目 | Spring Boot + jar |
| 老项目 | Tomcat + war |
| 微服务 | Docker |
如果你愿意,可以告诉我:
我可以直接给你一套可执行命令。