springboot项目部署linux nginx
时间: 2025-05-13 16:49:58 浏览: 20
### Spring Boot 部署至 Linux 并通过 Nginx 配置
#### 一、系统环境准备
在 openEuler 或其他 Linux 系统中,需先完成基础环境搭建。以下是具体操作:
1. **安装 Nginx**
使用 `yum` 安装 Nginx:
```bash
yum install nginx
```
启动 Nginx 服务并设置开机自启:
```bash
systemctl start nginx
systemctl enable nginx
```
2. **验证 Nginx 运行状态**
检查 Nginx 是否成功运行:
```bash
systemctl status nginx
```
如果显示绿色的 active (running),则表示 Nginx 已经正常启动[^1]。
---
#### 二、Spring Boot 应用程序部署
将 Spring Boot 的 JAR 文件上传到服务器,并确保其能够独立运行。
1. **上传 JAR 文件**
将构建好的 Spring Boot 项目打包成 JAR 文件,使用工具(如 SCP 或 FTP)将其传输到目标目录 `/opt/springboot/` 下。
2. **运行 JAR 文件**
执行以下命令以后台方式运行应用:
```bash
nohup java -jar your-spring-boot-app.jar > app.log &
```
此处的日志文件 `app.log` 可用于记录输出日志以便调试[^4]。
3. **测试访问**
测试是否可以通过 IP 和端口访问该应用。例如,假设应用监听的是 8080 端口,则可通过浏览器输入地址 `http://<server-ip>:8080` 来确认服务可用性。
---
#### 三、Nginx 配置反向代理
为了使外部请求能通过域名或固定端口访问 Spring Boot 应用,需要配置 Nginx 实现反向代理功能。
1. **编辑 Nginx 配置文件**
修改默认站点配置文件路径通常位于 `/etc/nginx/conf.d/default.conf` 中,或者创建一个新的配置文件:
```nginx
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
上述配置实现了对本地 Spring Boot 应用的转发支持,其中 `proxy_pass` 参数指向实际的应用端口。
2. **重新加载 Nginx 配置**
更新完成后,重载 Nginx 配置使其生效:
```bash
nginx -s reload
```
---
#### 四、高级优化建议
对于生产环境中更复杂的场景,可以考虑以下改进措施:
1. **负载均衡**
若存在多个 Spring Boot 节点实例,可在 Nginx 中启用上游模块来分发流量。例如:
```nginx
upstream backend {
server localhost:8080;
server another-server:9090;
}
server {
listen 80;
server_name load-balanced-site.com;
location / {
proxy_pass http://backend;
}
}
```
这种方法适用于集群化部署的需求[^2]。
2. **SSL 支持**
添加 HTTPS 协议增强安全性。获取证书后,在 Nginx 配置中加入 SSL 设置:
```nginx
server {
listen 443 ssl;
server_name secure-yourdomain.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
location / {
proxy_pass http://localhost:8080;
}
}
```
---
### 总结
上述流程涵盖了从环境初始化到最终配置完毕的整体过程。通过合理利用 Nginx 提供的功能特性,不仅可以让 Spring Boot 更加高效稳定地对外提供服务,还能进一步提升用户体验和数据交互的安全保障。
阅读全文
相关推荐

















