java 同域名下怎么访问同事的项目_喜大普奔,两个开源的前后端分离项目可以在线体验了...
折腾了一周的域名备案昨天终于搞定了。
松哥第一时间想到赶紧把微人事和V 部落上去,我知道很多小伙伴已经等不及了。
1. 也曾经上过线
其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了,以帮助小伙伴们更好的查看效果。但是那个是一台国外服务器,之所以购买国外服务器,主要是嫌国内备案麻烦,当然也有其他大家都懂的原因。
国外服务器有方便的地方,同时也有很多不便,例如网络不稳,随时有失联的风险。所以我在 2018 年年初,虽然把这两个项目都部署在服务器上,但是很多小伙伴的访问体验都不好,主要还是网络的问题。后来一段时间,经过几轮围剿与反围剿,这台服务器就彻底和松哥失联了。
失联之后,因为工作比较忙,我也就懒得去折腾了,所以导致微人事和V 部落大家在很长一段时间内无法在线查看效果。
2. 重新上线
最近因为有一些其他的计划,于是购买了阿里云服务,完事之后就是备案,所有东西都搞定之后,想着先把微人事和V 部落部署起来,方便大家查看效果。
说干就干,我首先规划了两个二级域名:
- vblog.itboyhub.com
- vhr.itboyhub.com
这两个二级域名分别用来部署V 部落和微人事。
大家可以通过这两个地址查看效果:
微人事
V 部落
为了确保每位小伙伴都能看到完整的演示效果,防止有的小伙伴不慎把所有数据清空了,导致其他小伙伴啥都看不到,我只开通了演示账户的查询和部分字段的更新权限,因此大家在查看演示效果时,可能会有一些涉及到增删改的操作会执行失败,请勿见怪,将项目部署到本地运行之后,就可以查看完整效果了。
3. 技能树
既然都写到这儿了,就和大家聊一聊这两个部署是怎么实现的。
3.1 部署方案选择
大家知道前后端分离部署的时候,我们有两种不同的方案:
- 一种就是将前端项目打包编译之后,放到后端项目中(例如 Spring Boot 项目的 src/main/resources/static 目录下)
- 另外一种则是将前端打包之后的静态资源用 Nginx 来部署,后端单独部署只需要单纯的提供接口即可。
一般在公司项目中,我们更多的是采用后者。不过松哥这里部署为了省事,我采用了第一种方案。(以后抽空我会和大家聊聊第二种部署方案)
3.2 域名映射
域名映射这块简单,登录阿里云后台,添加两个 A 记录即可。
3.3 启动 Spring Boot
微人事和V 部落分别打包上传到服务器,这个过程应该就不用我多说了吧,然后分别启动这两个项目,两个项目的默认端口分别是 8081 和 8082,命令如下:
nohup java -jar vblog.jar > vblog.log &nohup java -jar vhr.jar > vhr.log &
将两个项目的运行日志分别写入到 vblog.log 和 vhr.log 文件中。
启动成功之后,我们就可以通过 itboyhub.com:8081 和 itboyhub.com:8082 两个端口来分别访问这两个项目了。但是这还没达到松哥的目标,我想通过二级域名来访问,并且想通过 80 端口来访问,这就要借助 Nginx 了。
注意
启动完成后,大家需要登录阿里云后台,确认 8081 和 8082 端口已经开启。
3.4 Nginx 配置
Nginx 的基本用法,大家可以参考松哥的这篇旧文:
- Nginx 极简入门教程!
这里我们主要来看看 Nginx 的配置。
由于有两个二级域名,而且未来服务器还要配置其他域名,因此域名要能够做到动态解析,因此在具体配置如下:
server { listen 80; server_name *.itboyhub.com; if ($http_host ~* "^(.*?).itboyhub.com$") { set $domain $1; } # 其他配置...}
- 首先监听的端口为 80
- 二级域名则用一个通配符 * 代替
- 接下来在 if 语句用,通过正则表达式提取出二级域名的名字,交给变量 $domain,以备后用。
接下来配置转发规则:
location / { if ($domain ~* "vhr") { proxy_pass http://itboyhub.com:8082; } if ($domain ~* "vblog") { proxy_pass http://itboyhub.com:8081; } tcp_nodelay on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; index index.html;}
- 当定义的 $domain 中包含 vhr 字符时,将请求转发到 http://itboyhub.com:8082
- 当定义的 $domain 中包含 vblog 字符时,将请求转发到 http://itboyhub.com:8081
- 最后再配置将代理服务器收到的用户的信息传到 real server 上
另一方面,由于默认的后端首页是 /index.html,如果用户直接访问 vblog.itboyhub.com 或者 vhr.itboyhub.com,会被权限管理机制拦截(会自动重定向到 /login_p),因此,如果用户访问地址中没有 /index.html ,则自动添加上 /index.html,配置如下:
location /login_p { if ($domain ~* "vhr") { rewrite ^/(.*)$ http://vhr.itboyhub.com/index.html permanent; } if ($domain ~* "vblog") { rewrite ^/(.*)$ http://vblog.itboyhub.com/index.html permanent; }}
注意,这行配置在 location / 之前进行配置,这里两个 if 的含义和前面的一样,不再赘述。
OK,如此之后我们的配置就算是完成了(上面 nginx 完整的配置文件小伙伴可以在公众号后台回复 nginx.conf 获取)。
接下来我们就可以通过如下两个二级域名访问这两个开源项目了,小伙伴们赶紧试一把吧。
- vblog.itboyhub.com
- vhr.itboyhub.com
4. 结语
最后,再向小伙伴们安利一把这两个开源项目:
- https://github.com/lenve/vhr
- https://github.com/lenve/VBlog
如果你要学习 Spring Boot + Vue 前后端分离项目,这两个是不可多得的好资料。其中 V 部落无论是从技术点还是业务上来说,都要简单一些,所以如果你是新手,可以先看看 V 部落。微人事虽然稍微复杂一点,但好在松哥配有完整的开发文档,照着开发文档,相信大家也能理解大部分的功能。文档如下:
如果大家在部署的过程中遇到问题,也可以参考松哥手把手的部署视频:
- 微人事项目部署视频教程(关注微信公众号【江南一点雨】查看手把手部署视频教程)
好了,本文说到这里,有问题欢迎留言讨论。
搜索关注微信公众号 江南一点雨,后台回复 Java ,领取松哥为你精心准备的Java干货!江南一点雨专注于前后端分离,Java微服务等技术分享,都是 松哥原创技术干货!
java 同域名下怎么访问同事的项目_喜大普奔,两个开源的前后端分离项目可以在线体验了...相关推荐
- (五)Debian Linux中部署Spring Boot + Vue的前后端分离项目详细过程(arm64/aarch64架构下)
专题系列往期文章目录 (一)移动端安卓手机改造成linux服务器&Linux中安装软件踩坑历险记 (二)Debian Linux系统中安装oracle JDK1.8详细过程(arm64/aar ...
- Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品排序,Thymeleaf快速入门,商品详情页的展示)
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品详情页的展示) 一.商品排序 1.完善页面信息 这是用来做排序的,默认按照综合排序 ...
- Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)二十二(下单和微信支付)
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)二十(下单) 0.学习目标 会调用订单系统接口 实现订单结算功能 实现微信支付功能 1.订单 ...
- java会员卡的绑定和解绑_前后端分离项目 — SpringSocial 绑定与解绑社交账号如微信、QQ...
1.准备工作 申请QQ.微信相关AppId和AppSecret,这些大家自己到QQ互联和微信开发平台 去申请吧 还有java后台要引入相关的jar包,如下: org.springframework.s ...
- 视频教程-SpringBoot实战教程:SpringBoot入门及前后端分离项目开发-Java
SpringBoot实战教程:SpringBoot入门及前后端分离项目开发 十三,CSDN达人课课程作者,CSDN 博客作者,现就职于某网络科技公司任职高级 Java 开发工程师,13blog.sit ...
- 视频教程-Vue、Spring Boot开发小而完整的Web前后端分离项目实战-Java
Vue.Spring Boot开发小而完整的Web前后端分离项目实战 3年多.net开发经验:5年的java后端开发经验,熟悉行.net,java流行技术,拥有多个.net,java web企业级应; ...
- Java精品项目源码前后端分离项目第17期基于遗传算法学校排课系统
Java精品项目源码前后端分离项目第17期基于遗传算法学校排课系统 大家好,小辰今天给大家介绍一个基于遗传算法学校排课系统,演示视频文章末尾公众号(小辰哥的java)对号查询观看即可 文章目录 Jav ...
- Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十四(Spring Data Elasticsearch,将数据添加到索引库)
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十四(Spring Data Elasticsearch,将数据添加到索引库) 一.创建El ...
- 驾校分期-众筹项目java前后端分离项目vue(微信小程序+java前后端源码下载)
可以idea直接打开,mysql数据库项目,前后端分离项目vue,分期可自动设置,自动换算金额 驾校分期-众筹项目java前后端分离项目vue(微信小程序+java前后端源码下载)
最新文章
- 简述Linux目录结构和系统结构
- linux sockaddr_in头文件,linux网络编程常用头文件
- 如何判断UIViewController的视图是否可见
- find命令查找某些文件并将其拷贝到指定目录
- Mysql8 group replication组复制集群单主多主模式切换
- 来自 Facebook 内部的 Python 学习知识图谱,太全了!
- Spring IOC (DI-依赖注入)
- 突发!Redis之父退出:不在维护Redis项目
- 应用市场中包名(package name)的唯一性
- centos7的网卡配置 实用经典总结
- NLP简报(Issue#4):Turing-NLG、REALM、ERNIE-GEN、Transformer attention可视化等等
- CCF NOI1011 正方形
- vagrant 学习
- paip.2013年技术趋势以及热点 v3.0 cao
- C# 使用openxml解析PPTX中的文本内容
- ie浏览器java 脚本下载_用IE浏览器时不断出现Java活动脚本功能出错问题
- Hadoop 中的面试题
- [UOJ449][概率DP]集训队作业2018:喂鸽子
- python小猿_小猿圈python简介和发展前景?
- js当前页面打开小窗口 window.open
热门文章
- 【Elasticsearch】明明存在,怎么搜索不出来呢?
- 【ElasticSearch】Es 源码之 Discovery DiscoveryModule Coordinator 源码解读
- 【ElasticSearch】Es 源码之 RerouteService 源码解读
- 【java】System.arraycopy为什么快
- 【Java】java JMX之ObjectName
- 【Kafka】kafka检查消费者位置
- 【Kafka】Confluent Schema Registry
- Druid : 慢SQL统计与监控
- linux线程计算,有关Linux进程与线程数目计算的问题
- python3 提取url中域名部分_python 从网址(url)中提取域名和path