在服务器上部署 Java 项目(如 Spring Boot、Java Web 应用等),需要进行一系列的配置和准备工作。以下是完整的部署流程与所需配置,适用于 Linux 服务器环境(如 CentOS、Ubuntu)。
✅ 一、服务器基础环境准备
1. 操作系统
- 推荐使用 Linux 系统(如 Ubuntu、CentOS)
- 可选:安装宝塔面板、LNMP 环境等简化管理
2. 安装 JDK(Java Development Kit)
- 常见版本:JDK 8 / 11 / 17(根据项目需求选择)
- 安装方式:
sudo apt update && sudo apt install openjdk-11-jdk -y # Ubuntu yum install java-11-openjdk-devel # CentOS - 验证安装:
java -version javac -version
✅ 二、项目打包与上传
1. 打包方式
- Maven 项目:
mvn clean package - Gradle 项目:
gradle build - 输出文件通常是
.jar或.war文件
2. 上传到服务器
- 使用工具:
scprsync- FTP/SFTP 工具(如 FileZilla)
- Git 部署(推荐 CI/CD)
✅ 三、运行 Java 项目
1. 运行 .jar 文件(Spring Boot 常见)
java -jar your-project.jar
2. 后台运行(常用方法)
使用 nohup:
nohup java -jar your-project.jar > app.log 2>&1 &
使用 screen(虚拟终端):
screen -S myapp
java -jar your-project.jar
# 按 Ctrl+A+D 脱离会话
使用 systemd(推荐生产环境)
创建服务文件 /etc/systemd/system/myapp.service:
[Unit]
Description=My Java Application
After=syslog.target
[Service]
User=root
ExecStart=/usr/bin/java -jar /path/to/your-project.jar
SuccessExitStatus=143
Restart=on-failure:5
StandardOutput=file:/var/log/myapp.log
StandardError=file:/var/log/myapp.err
[Install]
WantedBy=multi-user.target
然后执行:
systemctl daemon-reload
systemctl start myapp
systemctl enable myapp
✅ 四、数据库配置(如有)
1. 安装数据库(如 MySQL / PostgreSQL / Oracle)
- 示例安装 MySQL:
sudo apt install mysql-server
2. 修改项目数据库连接信息
在 application.properties 或 application.yml 中修改数据库地址、用户名、密码等:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=yourpassword
✅ 五、防火墙与端口开放
开放访问端口(如 8080、80)
ufw allow 8080/tcp # Ubuntu
firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload # CentOS
✅ 六、反向X_X(可选)
使用 Nginx 或 Apache 实现反向X_X
示例 Nginx 配置:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重启 Nginx:
systemctl restart nginx
✅ 七、域名绑定与 HTTPS(可选)
1. 绑定域名
- 将域名解析到服务器 IP 地址
2. 配置 HTTPS(使用 Let’s Encrypt)
- 使用 Certbot:
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx
✅ 八、日志监控与维护
- 查看日志:
tail -f app.log journalctl -u myapp.service - 使用工具:
- ELK Stack(Elasticsearch + Logstash + Kibana)
- Prometheus + Grafana 监控
- 日志分析平台
✅ 九、自动部署(CI/CD 推荐)
- Jenkins
- GitHub Actions
- GitLab CI
- Docker + Kubernetes(高级部署)
✅ 十、安全建议
- 不使用 root 用户运行应用
- 设置防火墙规则限制访问
- 定期备份数据
- 更新系统和依赖库
🧾 总结:部署清单
| 步骤 | 内容 |
|---|---|
| 1 | 安装 JDK |
| 2 | 上传或构建 .jar 或 .war 文件 |
| 3 | 配置数据库(如有) |
| 4 | 启动项目并后台运行 |
| 5 | 配置防火墙 |
| 6 | 反向X_X(Nginx/Apache) |
| 7 | 域名绑定 + HTTPS |
| 8 | 日志与监控 |
| 9 | 自动化部署(可选) |
| 10 | 安全加固 |
如果你提供具体的项目类型(如 Spring Boot、普通 Servlet、Tomcat 部署等),我可以给出更详细的步骤说明。是否需要我帮你生成一个完整的部署脚本或 systemd 服务模板?
云计算导航