在 Java 里说的 Service 服务,通常有两种常见理解:
下面我分别说明,你可以对号入座。
mvn clean package
# 或
gradle build
生成文件:
xxx.jar(推荐,内嵌 Tomcat)java -jar xxx.jar
指定端口:
java -jar xxx.jar --server.port=8080
1. 上传 jar 到服务器
/opt/app/my-service.jar
2. 创建 service 文件
sudo vim /etc/systemd/system/my-service.service
内容示例:
[Unit]
Description=Java Service
After=network.target
[Service]
User=appuser
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/my-service.jar
SuccessExitStatus=143
Restart=always
[Install]
WantedBy=multi-user.target
3. 启动服务
sudo systemctl daemon-reload
sudo systemctl start my-service
sudo systemctl enable my-service
4. 查看状态
systemctl status my-service
journalctl -u my-service -f
Dockerfile
FROM openjdk:17-jdk-slim
COPY target/xxx.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
docker build -t my-service .
docker run -d -p 8080:8080 my-service
例如:
部署方式和上面 systemd 方式一致,只是 jar 里没有 Web 服务。
| 方式 | 适用场景 |
|---|---|
java -jar |
本地 / 临时 |
| systemd | Linux 服务器 |
| Docker | 微服务 / 云 |
| Kubernetes | 大规模生产 |
你可以告诉我:
我可以直接给你 完整部署模板。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。