【苍穹】完美解决由于nginx更换端口号导致无法使用Websocket

一、报错信息 

进行到websocket开发的过程中,遇到了前端报错,无法连接的提示:

经过F12排查很明显是服务端和客户端并没有连接成功。这里就涉及到之前的坑,现在需要填上了。

二、报错原因和推导

        应该还记得刚开苍穹的第一天配置前端环境时,会发现ngnix启动不了吧?排查原因后,发现是默认的80端口被系统进程占用了,你为了方便后续的测试,将ngnix的默认端口改成了8888。

系统默认的80端口是被http服务给占用了

      与此同时,苍穹的前端环境几乎是固定死了的,也就是有一些配置方面的东西,还是按照着80端口来的,这样一来,Websocket自然是连接不上的。

        所有就衍生出下面两种解决方法

三、解决方法

1. 修改ngnix配置文件 为80端口,同时终止原先系统进程占用的80端口 

修改配置文件ngnix.conf server listen 80

停用80 端口服务

C:\Users\goodboy>net stop http
下面的服务依赖于 HTTP Service 服务。
停止 HTTP Service 服务也会停止这些服务。World Wide Web 发布服务SSDP DiscoveryPrint Spooler你想继续此操作吗? (Y/N) [N]: y
World Wide Web 发布服务 服务正在停止.
World Wide Web 发布服务 服务已成功停止。
SSDP Discovery 服务正在停止.
SSDP Discovery 服务已成功停止。
Print Spooler 服务正在停止.
Print Spooler 服务已成功停止。
HTTP Service 服务已成功停止。

重启ngnix服务器

2. 一劳永逸,保持ngnix端口不变,修改前端环境信息(推荐)

在前端代码js中,先后找到app.d0aa4eb3.js 和 app.d0aa4eb3.js.map文件

打开: app.d0aa4eb3.js  

查找: localhost

修改:在localhost后添加 现在你的ngnix监听的端口号

例如我的: localhost:8888

打开: app.d0aa4eb3.js.map

查找:process.env.VUE_APP_SOCKET_URL

替换成: ws://localhost:8888/ws/

四、测试

重启服务器

还是报错,考虑浏览器缓存(可以清除浏览器缓存),开一个InPrivate 浏览

成功,测试一下能否及时响应新订单:

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

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

相关文章

OWASP top 10之XSS和csrf

2021年top 10 A01:失效的访问控制(越权漏洞) XSS:Cross-Site Scripting 跨站脚本,在2021年top 10漏洞中被合并为注入类漏洞 属于:前端漏洞 分类:反射型、存储型、DOM型 反射型 将恶意js代…

什么是 Solidity

Solidity 是一种面向对象的用于编写智能合同的语言。 智能合同是存储在区块链中的程序。 它们指定有关数字资产传输的规则和行为。 可以使用 Solidity 为 Ethereum 区块链平台对智能合同进行编程。 智能合同包含状态和可编程逻辑。 智能合同通过事务执行函数。 因此&#xff0…

Python 中函数嵌套定义与调用

Python 中函数嵌套定义与调用 在 Python 中,函数可以在另一个函数内部定义和调用。这种技术称为嵌套函数。嵌套函数可以用来创建封装和作用域限制,帮助保持代码的组织性和模块化。 函数嵌套定义与调用 1. 函数嵌套定义 函数嵌套定义是指在一个函数内…

Java集合——Array、ArrayList、LinkedList

1. ArrayList和Array的区别 1. 大小和自动扩容 Array:创建时指定大小,大小固定。若数组被创建,其大小不能更改 ArrayList:动态数组实现,可以动态增长或缩小。在不断添加元素时,ArrayList会自动进行扩容 …

MySQL大框架总结

1.DDL,DML,DQL,DCL的区别 (由于DCL是关乎用户的,以下内容重点讲述数据库,表与数据的操作,所以对DCL不详细赘述) DDL DML DQL DCL 中文/英文 数据库定义语言 data definition language 数据库操作语言 data mani…

为什么多数大数据治理项目都是失败的?Gartner调查失败率超过90%

引言:随着数据规模的爆发式增长、数据价值的凸显以及数据治理的必要性。在政策的推动、市场需求的拉动以及技术进步的支撑下,大数据治理正成为推动企业数字化转型、提升数据价值的重要手段。企业希望通过大数据治理提升数据利用率和数据价值,…

深入理解Prompt工程

前言:因为大模型的流行,衍生出了一个小领域“Prompt工程”,不知道大家会不会跟小编一样,不就是写提示吗,这有什么难的,不过大家还是不要小瞧了Prompt工程,现在很多大模型把会“Prompt工程”作为…

19 Python常用内置函数——range()

range() 是 Python 开发中非常常用的一个内置函数。该函数返回具有惰性求值特点的 range 对象,其中包含左闭右开区间 [start, end) 内以 step 为步长的整数。 参数 start 默认为 0,step 默认为 1。 print(range(5)) print(list(range(5))) print(list(r…

2024中国大学生算法设计超级联赛(2)

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,彩笔ACMer一枚。 🏀所属专栏:杭电多校集训 本文用于记录回顾总结解题思路便于加深理解。 📢📢📢传送门 A - 鸡爪解题思…

vue zip文件下载请求封装与使用

axios封装(重点是响应拦截) 这里把响应超时时间注释是文件下载接口返回需要较长时间 import axios from axios import {ElMessageBox} from "element-plus"; import router from "/router";const service axios.create({baseURL: …

华为高品质万兆园区体验保障技术白皮书

华为高品质万兆园区体验保障技术白皮书 - 华为企业业务 re 音视频会议已经成为企业办公的核心应用系统,尤其是高层会议的质量对企业的运营效率有很大影响,相 关的体验问题也是员工投诉的重灾区。但不同于传统的网络通断类问题,体验类问题涉及的范围大、…

vue3 暴露网络地址,以及修改端口号

一般情况下这里的地址是隐藏的 这里加上 --host 可以暴露网络地址,再加上 --8080 就可以将端口号修改为8080(修改为其它的当然也可以)

[AI科普] 2024人工智能指数报告解读

1. 前言: 本周分享了,关于斯坦福以人为本人工智能研究室发布的,《2024年人工智能指数报告》的解读,主要是结合了快刀青衣哥的一些解读。在此基础上,又增加了一些国内外的AI发展现状,欧洲杯中体现的人工智能…

草图也能秒变完整画稿?三星 Galaxy Z Fold6 、Flip6硬件升级

在科技的不断进步中,智能手机行业的竞争愈发激烈,各大厂商纷纷推出创新产品以吸引消费者。 最近,三星在 Galaxy Unpacked 发布会上就带来了 Galaxy Z Fold6 和 Flip6 两款手机新品,这两款设备不仅在硬件上有所突破,更…

ubuntu在命令行输出里查找内容,dmesg

直接执行查看日志指令会出来很多页。dmesg为开机日志信息。记录了开机时硬件的过程 sudo dmesg 执行结果: 可以用竖号“|”,在前一条命令返回的内容进行查找。下图为查找bluetooth sudo dmesg |grep -i bluetooth

【SpringCloud】 微服务分布式环境下的事务问题,seata大合集

目录 微服务分布式环境下的事务问题 分布式事务 本地事务 BASE理论与强弱一致性 BASE理论 强弱一致性 常见分布式事务解决方案 - 2PC 常见分布式事务解决方案 - TCC 常见分布式事务解决方案 - 最大努力通知 常见分布式事务解决方案 - 最终一致性 Seata介绍与术语 Seata…

亚信安慧正式加入多样性算力产业及标准推进委员会

“共筑新算力 智启新未来”。日前,多样性算力产业峰会在京成功举办。本次峰会由中国通信标准化协会多样性算力产业及标准推进委员会(CCSA TC622,以下简称“推委会”)主办,三大运营商、科研机构、软硬件系统厂商等产业代…

Linux中,MySQL数据库管理

使用MySQL数据库 查看数据库结构 MySQL是一套数据库管理系统,在每台MySQL服务器中,均支持运行多个数据库,每个数据库相当于一个容器,其中存放着许多表,如图2.1所示。 下面分别介绍查看数据库、表结构的相关操作语句。…

dynslam的安装

1. 安装opencv 2.4.9 下载opencv2.4.9 apt-get install build-essential apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff4-dev libswscale-dev libjasper-dev apt-get install cmake apt-get install pkg-config 进入安装包文件: m…