🗣 Wd提问: jar部署到服务器
🤖 Ai回答: 将 JAR 文件部署到服务器是 Java 应用常见的发布方式,尤其是 Spring Boot 等框架打包成可执行 JAR。以下是详细的部署步骤:
✅ 一、准备工作
1、本地打包 JAR
使用 Maven 或 Gradle 打包:
bash
Maven
mvn clean package
Gradle
./gradlew build
生成的 JAR 文件通常在 `target/`(Maven)或 `build/libs/`(Gradle)目录下,如:`myapp.jar`
2、准备服务器
Linux 服务器(如 CentOS、Ubuntu)
安装 Java 运行环境(JRE 或 JDK)
bash
java -version
如果未安装,请安装 JDK:
bash
Ubuntu
sudo apt update
sudo apt install openjdk-17-jre
CentOS/RHEL
sudo yum install java-17-openjdk
3、上传 JAR 到服务器
使用 `scp` 命令上传:
bash
scp myapp.jar user@your-server-ip:/home/user/app/
或使用工具:Xftp、WinSCP、SFTP 等。
✅ 二、部署与运行
方法 1:直接运行(测试用)
bash
java -jar myapp.jar
⚠️ 前台运行,关闭终端即停止。
方法 2:后台运行(推荐)
bash
nohup java -jar myapp.jar app.log 2&1 &
`nohup`:忽略挂起信号,终端关闭后仍运行
` app.log`:输出日志到文件
`2&1`:错误输出也重定向到日志
`&`:后台运行
查看进程:
bash
ps aux | grep java
方法 3:使用 systemd(生产推荐)
创建系统服务,实现开机自启、自动重启等。
1、创建服务文件:
bash
sudo vim /etc/systemd/system/myapp.service
2、写入内容(根据实际情况修改路径和用户):
ini
[Unit]
Description=My Spring Boot Application
After=syslog.target
[Service]
User=myuser
ExecStart=/usr/bin/java -jar /home/myuser/app/myapp.jar
SuccessExitStatus=143
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
3、启用并启动服务:
bash
sudo systemctl daemon-reload
sudo systemctl enable myapp.service
sudo systemctl start myapp.service
4、查看状态和日志:
bash
sudo systemctl status myapp.service
journalctl -u myapp.service -f
✅ 三、配置建议
1、外部配置文件
将 `application.yml` 或 `application.properties` 放在 JAR 同级目录,Spring Boot 会自动加载。
bash
java -jar myapp.jar spring.profiles.active=prod
2、JVM 参数优化
bash
java -Xms512m -Xmx2g -jar myapp.jar
3、防火墙开放端口
如应用监听 8080:
bash
sudo ufw allow 8080
或
sudo firewall-cmd permanent add-port=8080/tcp
✅ 四、常用命令总结
| 操作 | 命令 |
| 启动(后台) | `nohup java -jar app.jar log.txt &` |
| 查看进程 | `ps aux \| grep java` |
| 杀掉进程 | `kill -9 <pid` |
| 启动服务 | `sudo systemctl start myapp` |
| 查看日志 | `journalctl -u myapp.service -f` |
| 重启服务 | `sudo systemctl restart myapp` |
✅ 五、安全建议
不要以 root 用户运行应用
使用反向代理(Nginx)暴露服务
配置 HTTPS
定期备份和监控日志
如果你提供具体框架(如 Spring Boot)、服务器类型、是否需要域名访问等,我可以给出更定制化的部署方案。
📣 商家广告:





0
IP地址: 42.205.134.58
搜索次数: 24
提问时间: 2025-11-23 19:52:34
本站所有
❓
问答
均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
本站由
🟢
豌豆Ai
提供技术支持,使用的最新版:
豌豆Ai站群搜索引擎系统 V.25.10.25
搭建本站。