Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring Boot项目配合Nginx发布(单IP,单域名,多项目,多端口)

Spring Boot项目配合Nginx发布(单IP,单域名,多项目,多端口)

作者头像
geekfly
发布于 2022-05-06 11:43:15
发布于 2022-05-06 11:43:15
1.2K00
代码可运行
举报
文章被收录于专栏:geekflygeekfly
运行总次数:0
代码可运行

因为喜欢使用jar包发布项目,单个项目的启停不会影响其他项目正常运行,又不喜欢为每个项目都配置域名,所以想到了这样的部署方案:

项目名 端口 访问域名 project1 10001 http://xxx.com/project1 project2 10002 http://xxx.com/project2

主要使用Nginx的location配置过滤,参考教程:

主要配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
            listen       80;
            server_name  xxx.com;#域名
            location /project1/ { # 项目一
                proxy_pass http://10.10.31.62:10001; # 项目1对应的ip和端口
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
            location /project2/ {
                proxy_pass http://10.10.31.62:10002; # 项目2对应的ip和端口
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
        }

注意:

  • Spring Boot项目在本地调试一般直接使用ip:port/路由,没有添加项目名,在发布时需指定server.context-path=project1,此时访问变成ip:port/project1/路由,方可被Nginx配置的location拦截。
  • 项目发布后可现在Nginx本地根据curl ip:port/project1测试有无返回内容,若已经成功启动,但没有响应,考虑是不是防火墙限制。

常用命令:

lsof -i:8080 查看端口占用

java -jar demo.jar - -spring.config.location=application.yml 启动项目时加载其他的yml文件

iptables -L -n 查看防火墙开发端口

开发端口步骤

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 添加

/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT

# 保存

/etc/rc.d/init.d/iptables save

# 重启服务

service iptables restart
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nginx80端口转发+域名—实现IP+端口隐藏
1.打开conf下nginx.conf 在最后一个 } 前插入 include proxy.conf; 2.新建文件 proxy.conf ,进行如下配置
小诸葛
2020/04/14
7.5K0
Nginx通过二级目录(路径)映射不同的反向代理,规避IP+端口访问
这是我上一家公司的案例总结,发现躺在草稿箱好几个月了,今天得空就整理发布一下。 先说一下开发那边提来的 2 个 case: ①、同一个域名需要反向代理到前台和后台(不同机器和端口); ②、需要采用
张戈
2018/03/21
23.5K0
Nginx通过二级目录(路径)映射不同的反向代理,规避IP+端口访问
nginx配置多个server监听80端口
有时候需要部署很多个服务时,如果不想让域名的后面带上端口号这个问题应该怎么做呢,实际也是有这样的场景的,本小节来做一个学习
在水一方
2022/06/14
6.3K0
nginx配置多个server监听80端口
nginx服务器配置/websocket nginx 配置笔记
location的具体用法可以参看reference的第二篇文章介绍得非常详细。我这里使用/u/匹配我的路径以/u/开头下都使用这个下面{}中的配置。
全栈程序员站长
2022/07/07
2.7K0
JAVA单服务应用拆分成多个服务的实践(3)--前端的nginx转发
上篇文章JAVA单服务应用拆分成多个服务的实践(2)--服务的dubbo化已经将部分模块微服务化了,但我们怎么测试? 我们的目标是支持ALL In One,又要支持多个微服务,但前端怎么处理,前端代码又只有一个版本,但又要怎么面向多个微服务呢。 这样的话,我们只能引入伟大的nginx。 前端只认一个,就使用nginx的转发,将特定的请求转发到微服务的接口里,让前端无感请求到到另一服务中。 nginx的配置如下:
星痕
2019/03/15
7790
Nginx学习日志(二)通过反向代理将不同域名映射到不同的端口
由于自己进行学习,所以只买了一台服务器,但是想弄多个项目部署在同一台机器上,通过不同的域名访问不同的项目。例如: 输入 www.xxx.com 访问的是服务器上 8080 端口的项目 输入 www.yyy.com 访问的是服务器上 8081 端口的项目 最后决定通过 Nginx 反向带来实现。
海加尔金鹰
2020/06/09
3.3K0
nginx反向代理proxy_set_header说明
记录proxy_set_header设置 # 用途 设定被代理服务器接收到的header信息 允许重新定义或添加字段传递给代理服务器的请求头 值可以包含文本、变量和它们的组合 没有定义时会继承之前定义的值 语法: proxy_set_header field value field:变量名 value:变量值 默认值(只有两个字段被重定义): proxy_set_header Host $proxy_host; proxy_set_header Connection close; # 配置说明 项目 值
薛定喵君
2021/07/27
3.5K0
Nginx
刚开始做这个网站的时候,只有一个定时任务jar包,每天定时给指定用户发短信,后来觉得其他人可能也需要这种服务,在其基础上二次开发,可扩展多任务,多用户定时任务,赚了一点点,这时候已经是部署在tomcat上了,端口占用80; 后来想自己做博客,但是博客想要使用主域名,即原服务需要修改端口,但是这种形式容易忘记端口,还需要去防火墙重新放开一个端口,想的是一个二级域名可以直接访问,这时候想到Nginx!
不期而遇丨
2022/09/09
5310
nginx配置多个应用通过80端口访问
1、让域名供应商解析pan.a.com和www.a.com到自己的服务器,让pan.a.com指向localhost:8081,让www.a.com指向localhost:8080
聚优云惠
2020/02/21
3.3K0
Nginx配置反向代理和负载均衡
今天给大家介绍一下如何利用Nginx进行反向代理,之所以介绍这个的原因是,因为开发的时候遇到一个很尴尬的场景。因为是springboot项目,所以每一个控制类的端口都不一样,但是app那边所有接口都是对应一个ip和一个端口。如果我们想要实现本地app调式,就必须配置一个nginx,进行反向代理连接我们启动的服务器。废话不多说,开始我们nginx配置的介绍。
林老师带你学编程
2019/05/25
9040
宝塔 nginx 反向代理追加websocket支持
背景:xxx项目搭建在本地局域网中,其地址是:127.0.0.1:8800,并且这个项目某功能单元包含websocker技术。
李昂君
2021/12/23
2.3K0
宝塔 nginx 反向代理追加websocket支持
nginx反向代理-多端口映射
代码解释 1.1 http:www.baidu.test.com默认是80,访问“/”利用反向代理,然后访问本地8083; 1.2 8083代表本地的前端工程访问地址,前端需要访问后台数据,”/”,继续代理到后台地址9803; 1.3 这样就做到了只要开通80端口就可以完成多个端口访问。 1.4 root配置可以是绝对路径,也可是相对路径。 server { listen 80; server_name www.baidu.test.com;
lilugirl
2019/05/28
4.1K0
Nginx proxy_pass后的url加不加/的区别
针对情况1 :如果访问url = http://server/abc/test.jsp,则被nginx代理后,请求路径会便问http://proxy_pass/abc/test.jsp,将test/ 作为根路径,请求test/路径下的资源
云知识Online
2018/05/03
2.6K0
Nginx反向代理关于端口的问题
Nginx默认反向后的端口为80,因此存在被代理后的端口为80的问题,这就导致访问出错。主要原因在Nginx的配置文件的host配置时没有设置响应的端口。
用户5640963
2019/07/26
1.4K0
Nginx 真实线上案例
然后需要重启Nginx。重载Nginx配置文件不建议使用,但是可以用来检测配置文件是否有错误。
收心
2022/01/19
7820
我所有在线项目的Nginx配置内容
有几个小伙伴想看看我的Nginx是怎么配置的,我这里放出来吧。 其实没太多内容,都是基本的配置: 1、域名的代理(正向/反向); 2、IP地址获取; 3、SingleR Header配置; 4、前后端配置; 5、域名配置; 6、HTTPS配置; 7、负载配置; #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.
老张的哲学
2022/04/11
5720
nginx反向代理配置域名映射
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106401.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/05
3.4K0
不备案的情况下,一个域名怎么给多个服务做导航?
评论区有小伙伴说域名没有备案,无法使用子域名给每个服务做转发,导致只用使用 域名:端口 的方式访问服务!
萌萌哒草头将军
2025/04/06
2040
不备案的情况下,一个域名怎么给多个服务做导航?
通过Nginx配置域名映射到本地项目
猫头虎博主在此为大家详细讲解如何通过Nginx配置将特定域名映射到本地项目。在云计算和网络技术日益成熟的今天,使用Nginx实现域名的解析和映射成为了开发和运维人员的基本技能。本文将从Nginx的基本配置开始,深入探讨如何通过简单的配置实现域名到本地项目的映射,帮助读者理解和掌握这一重要技能。 😺
猫头虎
2024/04/09
1.7K0
通过Nginx配置域名映射到本地项目
Nginx代理proxy pass配置去除前缀
比如,访问abc.com/appv2/a/b.html, 要求转发到localhost:8088/appv2/a/b.html
Ryan-Miao
2018/12/05
5.6K0
相关推荐
Nginx80端口转发+域名—实现IP+端口隐藏
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验