解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑

news2024/11/18 15:48:58

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁
🦄 博客首页——猫头虎的博客🎐
🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大小厂~💐

🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

文章目录

  • 解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑
    • 摘要
    • 引言
    • 正文
      • 1. 环境差异 🌟📚🖥️🚀
      • 2. 外部资源的连接问题 🌟📚🖥️🚀
      • 3. 端口冲突 🌟📚🖥️🚀
      • 4. 必备的依赖 🌟📚🖥️🚀
    • 总结 🌟📚🖥️🚀
    • 参考资料 🌟📚🖥️🚀
  • 原创声明

解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑

🐯 猫头虎博主 提示:最近有不少小伙伴反馈 Spring Boot 2.7.16 在服务器上显示启动成功,但实际上无法访问。今天,我们就一起来深入挖掘这个问题,找出背后的原因和解决方法。而且,你知道吗?有时候,仅仅引入一个 spring-boot-starter-webflux 依赖就可能解决你的大问题!


摘要

在本篇文章中,我们将探讨 Spring Boot 2.7.16 版本在服务器上显示启动成功但实际上无法访问的问题。我们会从多个方面进行分析,包括环境差异、外部资源、端口冲突等。同时,我们也会深入研究为什么在某些情况下,添加 spring-boot-starter-webflux 依赖会解决问题。


引言

Spring Boot 被广大开发者称赞为简化 Java Web 开发的神器。但是,就像所有的软件一样,我们有时会遇到意想不到的问题。其中之一就是应用在本地运行完美,但部署到服务器后却遇到问题。那么,这是为什么呢?


正文

异常情况截图:

在这里插入图片描述

添加 spring-boot-starter-webflux 依赖之后正常启动

在这里插入图片描述
注意: 主要区别 不显示 端口号

1. 环境差异 🌟📚🖥️🚀

每个开发环境都有其独特之处,而服务器和本地机器之间的差异可能是问题的根源。例如,不同的 JDK 版本或操作系统设置可能导致应用的行为不同。

java -version

确保服务器上的 Java 版本与本地保持一致。

2. 外部资源的连接问题 🌟📚🖥️🚀

如果你的应用依赖外部资源,如数据库或消息队列,确保这些资源在服务器上是可用的,并且配置正确。

val dataSource = DataSourceBuilder.create()
    .url("jdbc:mysql://your-db-url")
    .username("username")
    .password("password")
    .build()

3. 端口冲突 🌟📚🖥️🚀

默认情况下,Spring Boot 会尝试在 8080 端口启动。使用以下命令检查端口是否已被其他应用占用:

netstat -tuln | grep 8080

4. 必备的依赖 🌟📚🖥️🚀

在某些情况下,您可能需要引入 spring-boot-starter-webflux 依赖。WebFlux 提供了一个响应式 Web 框架,可能会帮助解决某些与 Servlet 容器相关的问题。

implementation("org.springframework.boot:spring-boot-starter-webflux")

总结 🌟📚🖥️🚀

部署应用总是充满挑战,特别是当我们遇到意想不到的问题时。但通过深入研究和理解背后的原因,我们可以找到解决方案。记住,每一个问题都是一个学习的机会!


参考资料 🌟📚🖥️🚀

  • Spring Boot 官方文档
  • Spring WebFlux 介绍

🐯 猫头虎博主:希望这篇文章能帮助到遇到类似问题的小伙伴。记住,无论遇到什么问题,都不要放弃,持续学习,不断成长!🚀🚀🚀


在这里插入图片描述

原创声明

======= ·

  • 原创作者: 猫头虎

作者wx: [ libin9iOak ]

学习复习

本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1035995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb 学习笔记 8:AJAX

JavaWeb 学习笔记 8:AJAX AJAX(Asynchronous JavaScript And XML,异步 js 和 XML)是一种用 js 代码异步(或同步)的方式请求服务端数据,并在页面显示或加载的技术。 1.快速入门 先看如何用纯 …

GB28181协议-注册详解

注册指的是设备或系统进入联网系统时向SIP服务器(SIP UAS)进行注册登记的工作模式,在本文中FFmpeg即为一个SIP服务器,设备向FFmpeg发送注册请求,FFmpeg在接收到设备的注册请求后返回相应的回复消息,则完成设…

【面试题】——Spring

1.Spring是什么? Spring是一个开源的Java应用框架,它提供了广泛的基础设施支持,用于构建Java应用程序。极大提高了开发效率。它提供了一种轻量级的编程模型,通过依赖注入(Dependency Injection)和面向切面…

盘点神级AI绘画工具,太强太友好了

B站|公众号:啥都会一点的研究生 AI绘画越来越卷、越来越极致,可以轻松将我们这些毫无绘画功底的人的创意想法转化为令人惊叹的数字艺术作品,本期将整理一些目前流行的高质量AI艺术生成器,一起看看吧 Bing Image Creator https:/…

污水中常规五参数的检测有什么意义

便携式水质五参数检测仪包括: 温度、 pH、溶解氧、电导率、浊度。同时该仪器也可根据客户需要进行其他电极法指标, 如盐度、 TD S、OR P 指标的增添,以及指标的任意搭配组合。 水质常规五参数在我国水污染防治中发挥着重要的作用。 检测水质常…

spring中AbstractApplicationContext的refresh()

这个部分的源码看的次数不计其数了,每次看不同开源组件的调用过程中走到这里都有不同的收获。 spring 中 AbstractApplicationContext 的 refresh() 是 spring 的核心,几乎所有的逻辑都在是这里间接被调用。 如下源码为 spring boot 2.7.15 自带的 sprin…

MySQL主从复制与读写分离(附配置实例)

目录 一、主从复制1.1 什么是主从复制?1.2 MySQL支持的复制类型1.3 主从复制的工作过程1.4 主从复制的同步模式1.4.1 异步复制(Asynchronous replication)1.4.2 全同步复制(Fully synchronous replication)1.4.3 半同步…

其他网页都可以打开,只有知网打不开

问题:电脑自动获取DNS出现问题。 1、打开Internet协议版本4(TCP/IPv4) 控制面板—所有控制面板项----网络连接----WLAN—属性----Internet协议版本4(TCP/IPv4)—属性 2、修改DNS 将自动获得DNS服务器地址&#xff…

Sparta工具用法描述之信息收集(漏洞分析)

声明:本文仅做学习与交流,任何用于非法用途、行为等造成他人损失的,责任自负。本文不承担任何法律责任。 Sparta是python GUI应用程序,它通过在扫描和枚举阶段协助渗透测试仪来简化网络基础结构渗透测试。 通过点击并单击工具箱并以方便的方式显示所有工具输出,它可以使测…

Swing通过后台线程实现页面更新

业务场景 在swing程序中,我们想实现一个随着任务的执行而同步更新组件的功能,如果在主线程(EDT)中直接执行任务并更新组件,则会导致组件只显示最终更新的状态的问题,这是因为EDT是单线程的,在执…

【golang】深入理解Go语言垃圾回收(GC)

垃圾回收 垃圾回收版本1.3之前标记-清除(mark and sweep)算法标记-清除(mark and sweep)的缺点 版本1.5的三色并发标记法没有STW的三色标记法屏障机制强-弱 三色不等式插入屏障删除屏障 版本1.8的混合写屏障(hybrid wr…

MQ - 25 RabbitMQ集群架构设计与实现

文章目录 导图集群构建节点发现元数据存储数据可靠性镜像队列仲裁队列安全控制传输加密身份认证资源鉴权可观测性总结导图 集群构建 集群构建由节点发现和元数据存储两部分组成。RabbitMQ 也是一样的实现思路。 节点发现 在节点发现方面,RabbitMQ 通过插件化的方式支持了多…

经典题记录 字符串相加/相乘

1. LeetCode 415 字符串相加 代码一:代码简短,但需要借助额外的一个string来保存结果,更占用内存。 class Solution { public:string addStrings(string num1, string num2) {string ans"";int size1num1.size();int size2num2.si…

php之导入导出csv文件

一、导入csv文件 1、创建导入页面 <!DOCTYPE html> <html lang"zh-CN"> <meta charset"UTF-8"> <head><title>文件提交表单</title> </head> <body> <form action"test5.php" method"…

嵌入式裸机架构的探索与崩塌

为什么会想着探索下嵌入式裸机的架构呢&#xff1f;是因为最近写了一个项目&#xff0c;项目开发接近尾声时&#xff0c;发现了一些问题&#xff1a; 1、项目中&#xff0c;驱动层和应用层掺杂在一起&#xff0c;虽然大部分是应用层调用驱动层&#xff0c;但是也存在驱动层调用…

6年Android开发前10月的总结,写给正在求职的安卓开发

进入大厂工作对许多人来说已经是一种挑战&#xff0c;但只要充分准备&#xff0c;很多问题都可以逐步解决。当然&#xff0c;运气也起到了一定的作用&#xff0c;但最终还是与自身的努力密不可分。运气是实力的一部分&#xff0c;因为自助者天助。 每到10月进行总结时&#xff…

华为ICT——第二章-数字图像处理私人笔记

目录 1&#xff1a;计算机视觉&#xff1a;​编辑 2&#xff1a;计算机视觉应用&#xff1a;​编辑 3&#xff1a;计算机视界核心问题&#xff1a;​编辑 4&#xff1a;相关学科&#xff1a; 5&#xff1a;计算机视觉与人工智能&#xff1a; 最成熟的技术方向是图像识别 6…

Django应用及分布式路由

Django应用及分布式路由 应用 应用在Django项目中一个完全独立的业务模块&#xff0c;可以包含自己的路由&#xff0c;视图&#xff0c;模板&#xff0c;模型 应用配置 在这里面添加你自定义的应用 INSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.cont…

如何使用docker快速部署MinDoc文档系统

MinDoc是非常优秀的知识分享系统&#xff0c;但是很多刚接触的人会一脸懵逼&#xff0c;而且官方文档写的也并不清晰&#xff0c;所以和大家分享一下快速部署MinDoc的方法。 首先docker环境先自行安装好&#xff0c;这里不再赘述。 拉取docker镜像&#xff1a; docker pull …

解决 Github port 443 : Timed out

解决方法 打开代理页面 打开 设置 --> 网络与Internet --> 查找代理 记录下当前系统代理的 IP 地址和端口号 如上图所示&#xff0c;地址与端口号为&#xff1a;127.0.0.1:7890 注意修改成自己的IP和端口号 git config --global http.proxy http://127.0.0.1:7890 gi…