在 Linux 上用 Java 部署项目,常见流程如下(以 Spring Boot 为例,也适用于普通 Java 项目):
# Ubuntu / Debian
sudo apt update
sudo apt install openjdk-17-jdk -y
# CentOS
sudo yum install java-17-openjdk-devel -y
验证:
java -version
常见方式:
scpscp target/app.jar user@ip:/home/user/app/
java -jar app.jar
后台运行:
nohup java -jar app.jar > app.log 2>&1 &
sudo vi /etc/systemd/system/myapp.service
内容示例:
[Unit]
Description=My Java App
After=network.target
[Service]
User=appuser
WorkingDirectory=/home/user/app
ExecStart=/usr/bin/java -jar /home/user/app/app.jar
SuccessExitStatus=143
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
查看状态:
sudo systemctl status myapp
server:
port: 8080
# firewalld
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
# ufw
sudo ufw allow 8080
sudo apt install nginx
配置:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080;
}
}
sudo nginx -t
sudo systemctl restart nginx
tail -f app.log
journalctl -u myapp -f
| 方式 | 场景 |
|---|---|
| java -jar | 测试、临时 |
| systemd | 生产推荐 |
| Docker | 微服务 |
| K8s | 大规模 |
如果你愿意,可以告诉我:
我可以给你更精确的部署方案。