最新要闻
- 全球播报:雷军:小米13用了昂贵的高硅负极电池才把容量做到4500mAh
- 把魔兽停服当庆典营销 网易《逆水寒》被曝涉嫌抄袭暴雪IP
- 当前热讯:《黑神话:悟空》定档:想玩记得升级电脑
- 快播:2022年预制菜销量大涨!之前有专家还说“我从来不吃”
- 世界报道:高铁站大厅没插座 客服:为了消防安全
- 滚动:你遇到过没?货车安装超亮后射灯:夜晚跟车根本看不清
- 时讯:首发2亿像素HP2!三星Galaxy S23 Ultra万元机皇来了
- 观察:口碑爆棚!剧版《三体》市占率16.51%排行第一
- 年终会员大促:B站/芒果TV/腾讯视频/优酷/百度网盘3.6折起
- 三电机真恐怖!特斯拉Model S Plaid瞬间撕裂马力机张力带
- 焦点热讯:内置LED屏见过没?Naspec推出高端HDMI 2.1数据线
- 焦点要闻:美国一州提案禁售电动汽车 议员:就看不惯“禁售燃油车”的提议
- 环球热门:电动车新国标过渡期陆续到期 雅迪股价半月暴涨3成
- 合作谈崩了 暴雪还想让网易当半年“备胎”?
- 特斯拉Model S之后:一改装公司推出福特电马灵车和礼宾车
- 今日讯!魅族Flyme牵手中国电信天翼终端!软硬件生态全面融合
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【天天新视野】SpringBoot Wiki项目部署记录
学习课程有一段时间之后,想起买课的初衷是为了学习如何在服务器上部署前后端分离的项目,因此花了几天时间研究,最后功夫不负有心人。期间还是遇到很多问题,特此记录。
(资料图片)
一.部署过程
准备:一个已经安装好JDK环境,Nginx的配有公网IP的云服务,数据库环境也不用担心,也就是前后端打包都能正常在服务器上启动起来,关键就是确定 Nginx 的配置。
1.1 Nginx配置
部署的关键其实就是配置Nginx。前端调用的接口经过Nginx反向代理转发到后端。在课程中,Nginx的配置文件除了 Nginx.conf
之外。还可以在 conf.d
目录下面新建各种 XXX.conf
,也会生效。但是,我安装的 Nginx
版本为1.13.1,是没有此目录。实际上也无需,只在 Nginx.conf
里配置即可,也就是多几个 location
配置。
下面是成功实现只用公网IP即可成功部署之后的 Nginx.conf
主要需要变动的内容,其中关键的部分都有注释。
server { # Nginx监听端口,从下面前端的配置来看,也是Nginx作为web服务器的静态页面的访问端口 listen 80; # 示例公网IP:乱写的,如有雷同,概不负责 server_name 100.11.22.199; #charset koi8-r; #access_log logs/host.access.log main; # 1.代理前端项目地址,即前端Vue框架打的静态文件存放到 /root/web/目录。 location / { alias /root/web/; index index.html index.htm; try_files $uri $uri/ /index.html; } # 2. 将前端所有调用后端的带有 **/api/** URL地址转发到本服务器的8880端口, # 其中8880端口即后端springboot服务端口 # 比如 前端调后端的某个接口地址是 http://100.11.22.199/api/user/login,那么Nginx就 转发到服务器 的 # http://127.0.0.1:8880/user/login接口。 location /api/ { # 3.这里的127.0.0.1写成localhost也可以,但是不能写成公网IP。注意端口号后面要加上/ proxy_pass http://127.0.0.1:8880/; # 下面这些时常规加的一些配置 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_max_temp_file_size 300m; client_max_body_size 1024M; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 240s; } ...... }
配置文件的增加的配置信息在对应注释中已经说明,下面说一下前端代码中需要配置的操作:
1.2 前端打包配置
由于 locaiton /api/ {......}
转发匹配规则是前端调用后端接口的 URL地址都得有 /api/
。因此前端统一配置的 baseURL就也得加上统一前缀 /api,以示区分。在课程的 Wiki项目中就是 .env.prod文件中 的 VUE_APP_SERVER
需要改成VUE_APP_SERVER=http://100.11.22.199:80/api
。这里 是加 /api
还是 /api/
主要看前端调的接口地址 是 类似 /user/login
,还是 user/login
。注意避免多加了一个/。
这样访问页面前端就能正常调用后端的接口了。基本上就部署完成了。
1.3. 配置域名
如果已经有成功解析到公网IP的域名,那么在两个地方修改就可以成功配置域名,并不必须如课程中老师要解析到两个二级域名到同一个公网IP:
前端的 VUE_APP_SERVER=http://100.11.22.199:80/api IP地址用域名替换即可,比如我的域名是yourDomain.top,就是 http://yourDomain.top:80/api 。
Nginx.conf 中的
server_name 100.11.22.199
IP地址改成 www.youDomain.top。即域名前面得加个www
。记得重启Nginx生效。以上两步之后,就可以用域名代替IP访问,前端调后端地址也是通过域名访问。
四. 关键问题解释
3.1 为什么 前端配置调用后端的的统一URL 即VUE_APP_SERVER=http://100.11.22.199:80/api
答:ip不用解释,然后/api
在 上面Nginx配置的时候也已经说的很清楚了。那么端口为什么是80呢。因为要避免跨域。
简单来说,我们的项目前端静态页面访问完整的链接是 http://100.11.22.199:80/
,端口是80。那么浏览器的同源策略就要求,这个页面中发送到后端的Ajax请求必须也类似 http://100.11.22.199:80/**
,协议,主机IP,端口全部一样,否则就会引报CORS跨域问题,浏览器会直接限制前端发送这样的接口到后端,这就是 VUE_APP_SERVER的端口设置为80的原因。更详细的理论知识见掘金-那些年我们“跨”过的“域”(接口篇)。
然后,后端的wiki springBoot应用启动的端口是8880。由此,就需要在Nginx进行转发,将:80/api/端口的请求,转发给
http://127.0.0.1:8880/;
。因此 Nginx
就像是充电器的转接头一样,连接前端和后端的两头,将前端的请求转发到后端。
那么野生吴彦祖们又要问了:我不想用80端口,想改成其他端口吗,可以吗?
答:可以,首先找一个服务器还没用过的端口,怎么查,看我的这个帖子 JavaWeb开发在服务器常用命令 。里面可以在端口部分找到如何查看目前服务器已经用的端口。比如我想用8989,查了没有服务在用。然后先在防火墙把这个端口永久放开,如果是云服务器,还得把安全组对应的TCP:8989放开,这样从外网浏览器就可以访问了。之后在Nginx 里面把监听端口 改成 8989。然后和上面一样,把前端BaseURL也配置成 8989。就可以了。
3.2 为什么 proxy_pass 的 配置是 http://127.0.0.1:8880/ 或者 http://localhost:8880/
答:proxy_pass http://127.0.0.1:8880/;
端口是8880就不赘述了。这里的主机地址必须是127.0.0.1或者localhost,也就是 Nginx 代理的是这台云服务器。如果是填的是公网 IP,那么在 调后端接口就会报 502 bad gateway
或 504 gateway time-out
。其实查看Nginx error日志,发现 错误日志输出的是 Connection timed out) while connecting to upstream
。表明 Nginx
无法连接的upstream server。upstream server 就是 http://100.11.22.199:8880/。也就是 Nginx
通过 公网IP连不上服务器的,只能通过自己本地localhost才能连上。
最后,如果本文对你有帮助,还望三连支持,你们的鼓励是对我继续写作的支持。
-
环球微速讯:学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明式事务管理属性
2023-01-18一、Spring声明式事务管理1、事务四大特征(ACID)(1)原子性(2)一致性(3)隔离性(4)持...
来源: -
世界热门:C. Equal Frequencies
C EqualFrequenciesLet& 39;scallastringbalancedifallcharactersthatarepresentinitappea
来源: 【天天新视野】SpringBoot Wiki项目部署记录
环球微速讯:学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明式事务管理属性
世界热门:C. Equal Frequencies
全球播报:雷军:小米13用了昂贵的高硅负极电池才把容量做到4500mAh
世界简讯:Qt项目-翻金币游戏
lambda表达式基础
java-数组相关的算法(尚硅谷)
Pytorch-geometric: Creating Message Passing Networks 构建消息传递网络教程
把魔兽停服当庆典营销 网易《逆水寒》被曝涉嫌抄袭暴雪IP
当前热讯:《黑神话:悟空》定档:想玩记得升级电脑
快播:2022年预制菜销量大涨!之前有专家还说“我从来不吃”
7层WAF的一些记录
天天新动态:Numpy基本使用方法
[数据结构]单向链表插入排序(C语言)
世界报道:高铁站大厅没插座 客服:为了消防安全
滚动:你遇到过没?货车安装超亮后射灯:夜晚跟车根本看不清
时讯:首发2亿像素HP2!三星Galaxy S23 Ultra万元机皇来了
观察:口碑爆棚!剧版《三体》市占率16.51%排行第一
当前要闻:BC4-牛牛学说话之-浮点数
【独家焦点】关于可迭代对象、迭代器对象、生成器对象
环球快消息!AcWing 1077. 皇宫看守
年终会员大促:B站/芒果TV/腾讯视频/优酷/百度网盘3.6折起
三电机真恐怖!特斯拉Model S Plaid瞬间撕裂马力机张力带
焦点热讯:内置LED屏见过没?Naspec推出高端HDMI 2.1数据线
焦点要闻:美国一州提案禁售电动汽车 议员:就看不惯“禁售燃油车”的提议
环球热门:电动车新国标过渡期陆续到期 雅迪股价半月暴涨3成
vue3_ts_defineProps的使用
合作谈崩了 暴雪还想让网易当半年“备胎”?
特斯拉Model S之后:一改装公司推出福特电马灵车和礼宾车
今日讯!魅族Flyme牵手中国电信天翼终端!软硬件生态全面融合
学习笔记——定义切面优先级 ;Spring中的JdbcTemplate;JdbcTemplate的常用API
当前短讯!从0开始学Java 第一期 开发前的准备
小心吃官司 央视发布声明:2023兔年春晚内容别乱用
世界焦点!华硕发布Vivobook S 16 Flip笔记本:16寸3.2K OLED翻转屏
快播:联想一大波ThinkBook笔记本来袭:全新一代处理器 32G内存
天天时讯:国服还能玩6天:《守望先锋:归来》开启春节活动
天天速看:国家级出行平台!“强国交通”完成内测即将上线:接入微信、支付宝等
天天热门:研发回家过年了,留下这个低代码开源平台真好用!
天天热门:Python基础之函数
小米城市定制机来了!小米13信阳专属版今日交付:包装盒独一无二
网易、暴雪骂战正酣 NVIDIA站台《永劫无间》:即将支持DLSS3
环球速看:火锅店回应起火后要求顾客先结账:网友甩出一张神图
世界报道:《三体》电视剧从北京正负电子对撞机取景 物理学家纷纷追剧
全球今日报丨越跌越买!特斯拉降价是“好时机”:木头姐仍在大举加仓
全球关注:SSH 远程免密登录(公钥登录)
世界观速讯丨达到你城市标准没?去年白领平均年终奖8428元:仅1城连涨三年 到手先存
今日精选:大品牌好价!振德医用外科、KN95口罩29.9元起包邮
世界观察:互联网公司春节红包缩水一半:快手最豪横 狂撒20亿元
【独家焦点】50GB包年39元!小米云服务会员春节福利:最低5.5折
世界聚焦:SpaceX重型猎鹰火箭发射美国太空军机密卫星:不怕核打击
快资讯:opencv官网例程(4.7.0版本)运行示例
【优秀论文解读】BoW3D: Bag of Words for Real-time Loop Closing in 3D LiDAR SLAM
学习笔记——Spring中的AOP(AspectJ);Spring中AOP概述;Spring中AOP相关术语;AspectJ中切入点表达式;AspectJ中Jo
当前热讯:峰值21WQps、亿级DAU,小游戏《羊了个羊》是怎么架构的?
改款特斯拉Model 3即将登场:预计今年三季度投产
苹果版“望远镜”!曝iPhone 16 Pro/16 Ultra都会配备潜望长焦
科学家警告:2024或成全球史上最热年份
天天短讯!读编程与类型系统笔记10_泛型算法和迭代器
精选!【K哥爬虫普法】辛苦钱被中间商抽走八成,还因此锒铛入狱
育碧CEO让员工少花钱多做事 巴黎工作室将罢工抗议
苹果上海被强制执行1.44亿:这么多年还是第一次
世界通讯!微软否认“万人大裁员”:纯属谣言
天天讯息:7岁男孩爱撕倒刺致手指感染 医生提醒:处理不当会引发骨髓炎
全球今亮点!春节正常发货:仁和N95灭菌级口罩25片15.9元大促
世界要闻:网友3美元淘了一颗废品锐龙9 5900X:掰正针脚 点亮!
王晶武侠电影 《天龙八部之乔峰传》明日首映:年三十三大视频平台上线
Appuploader内测版本详解
热点评!使用Python的一维卷积
全球时讯:平民也能玩8GHz超频 技嘉B760主板奉上两大绝技:内存延迟大降7ns
被偷家了!德国人不买大众 把美系车特斯拉买成销冠
12nm后 DRAM怎么办?EUV光刻也不是万能药
每日时讯!安徽一劳斯莱斯婚车撞上石墩受损严重 博主:可向设置限宽人员索赔
《蚁人3:量子狂潮》角色海报发布 蚁人女儿貌美如花
象是哪个少数民族的生肖?十二生肖儿歌顺口溜
释迦牟尼佛成道日是哪一天?释迦牟尼佛的故事
国税地税税种有哪些?国税地税税种比例怎么分?
家有恶邻后面一句是什么?家有恶邻居怎么办?
最资讯丨学习笔记——AOP-代理模式
Python使用pyppeteer搭建网页截图api
三星移动硬盘质量怎么样?三星移动硬盘打不开怎么解决?
帅康燃气灶怎么样?帅康燃气灶打火后松手就熄灭怎么解决?
qq服务器拒绝发送离线文件是什么意思?qq服务器拒绝发送离线文件怎么办?
什么八字的人长得好看?什么八字的人长得丑?
光波炉的危害有哪些?光波炉与微波炉的区别
移动硬盘目录损坏如何恢复?移动硬盘目录损坏解决方法
今日快讯:官宣:F1中国站无缘2023赛季 已连续4年缺席
世界热文:开发预算突破7亿!网易400人团队“超级项目”《逆水寒》手游获批版号
天天快报!2023全球品牌价值500强出炉:苹果跌至第2 抖音杀入前10
全球观察:买一赠一:腾讯视频京东Plus会员联名年卡148元大促
《魔兽世界》电子骨灰盒出现bug:下载存档错误 账号被锁定
全球快消息!APM vs NPM
排面!小米登上《人民日报》头版
情侣拍照时戒指不慎掉入洱海 男生立即跳湖寻找:官方回应太危险不可取
天天热文:吃播账号“浪胃仙”被判属原公司:创始人涉职务侵占被捕
全球今日讯!学习笔记——Spring中组件扫描(包含扫描、排除扫描)、Spring中完全注解开发;Spring整合Junit4步骤
10辆特斯拉新车高速上集体燃烧 只剩一堆废铁架子
美国科技巨头依然寒气逼人 微软即将裁员:1万多人丢了工作
每日消息!《最后生还者》热播 收视率仅次于《龙之家族》
全球百事通!别人“借钱不还”怎么办?网友公布微信妙招 赶紧学起来
全球快资讯丨1月23日国服停!双方谈崩 网友吐槽暴雪绿茶:网易后到底谁来接盘?