【苍穹】完美解决由于nginx更换端口号导致无法使用Websocket
一、报错信息
进行到websocket开发的过程中,遇到了前端报错,无法连接的提示:

经过F12排查很明显是服务端和客户端并没有连接成功。这里就涉及到之前的坑,现在需要填上了。
二、报错原因和推导
应该还记得刚开苍穹的第一天配置前端环境时,会发现ngnix启动不了吧?排查原因后,发现是默认的80端口被系统进程占用了,你为了方便后续的测试,将ngnix的默认端口改成了8888。
与此同时,苍穹的前端环境几乎是固定死了的,也就是有一些配置方面的东西,还是按照着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 浏览


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

相关文章:
【苍穹】完美解决由于nginx更换端口号导致无法使用Websocket
一、报错信息 进行到websocket开发的过程中,遇到了前端报错,无法连接的提示: 经过F12排查很明显是服务端和客户端并没有连接成功。这里就涉及到之前的坑,现在需要填上了。 二、报错原因和推导 应该还记得刚开苍穹的第一天配置前…...
Qt中在pro中实现一些宏定义
在pro文件中利用 DEFINES 定义一些宏定义供工程整体使用。(和在cpp/h文件文件中定义使用有点类似)可以利用pro的中的宏定义实现一些全局的判断 pro中实现 #自定义一个变量 DEFINES "PI\"3.1415926\"" #自定义宏 DEFINES "T…...
bash XXX.sh文件和直接运行XXX.sh的区别
区别: bash XXX.sh 明确说明使用bash作为脚本的解释器不需要文件有执行权限 XXX.sh 需要指定相关解释器。如果第一行是#!/bin/bash则使用bash,如果是#!/bin/sh,则使用sh作为解释器需要有执行权限:通过chmod x 文件名指定 注意: #!是特殊标…...
【Python机器学习】k-近邻算法简单实践——改进约会网站的配对效果
需求背景: XX一直使用约会网站寻找适合自己的约会对象,ta会把人分为3种类型: 不喜欢、魅力一般、非常有魅力 对人分类轴,发现了对象样本的以下3种特征: 1、每年获得的飞行里程数 2、玩视频游戏所耗时间百分比 3、…...
vue3前端开发-小兔鲜项目-登录组件的开发表单验证
vue3前端开发-小兔鲜项目-登录组件的开发表单验证!现在开始写登录页面的内容。首先这一次完成基础的首页按钮点击跳转,以及初始化一些简单的表单的输入验证。后期还会继续完善内容。 1:首先还是准备好login页面的组件代码内容。 <script …...
Winform上位机TCP客户端/服务端、串口通信
Winform上位机TCP客户端/服务端、串口通信 背景 日常练习,着急换工作,心态都快乱了。 工具 串口调试助手 网络调试助手 代码 客户端 using Microsoft.VisualBasic.Logging; using System.Net.Sockets; using System.Text;namespace TcpClientDem…...
Linux基础复习(二)
前言 本文介绍了一下Linux命令行基本操作及网络配置 一、 命令行提示含义 [当前用户主机名 工作目录]$ 若当前用户是root,则最后一个字符为# 否则,最后一个字符为$ 二、常用Linux命令及其解释 修改主机名 一般在创建一台主机后会使用hostname相关命…...
nginx漏洞修复 ngx_http_mp4_module漏洞(CVE-2022-41742)【低可信】 nginx版本升级
风险描述: Nginx 是一款轻量级的Web服务器、反向代理服务器。 Nginx 的受影响版本中的ngx _http_mp4_module模块存在内存越界写入漏洞,当在配置中使用 mp4 directive时,攻击者可利用此漏洞使用使用ngx_http_mp4_module模块处理特制的音频或视…...
网格布局 HTML CSS grid layout demo
文章目录 页面效果代码 (HTML CSS)参考 页面效果 代码 (HTML CSS) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…...
Java算法之递归算法-如何计算阶乘的值
上一篇学了递归之后,练习一下递归算法。 题目:使用递归算法计算阶乘的值,也就是5!5*4*3*2*1,直接使用循环是非常简单的,这边练习一下递归算法。 先写一下两个条件 基线条件:等于1的时候返回1…...
python爬虫入门小案例
python爬虫 以下内容仅供学习交流,请勿用作其他用途,若涉及隐私和版权问题,请及时联系我删除 闲来无事,学了学爬虫小知识,适合入门,文笔拙劣,还望见谅 爬虫是什么: 爬取网页上的文字,图片,视频,音频 自动化操作浏览器,比如填写表单,打卡,提高工作效率爬虫的注意事项: 爬虫…...
【昇腾AI创新大赛集训营南京站学习笔记】-Ascend算子开发课程
昇腾AI创新大赛训练营 14:00-14:30 基础知识-理论课 一、CANN 、达芬奇架构和算子 1.AI Core逻辑架构 达芬奇架构包含三部分: 1)计算类:矩阵计算单元(两个矩阵扔进去相乘)、向量计算单元、标量计算单元 2)控…...
系统架构设计师教程 第4章 信息安全技术基础知识-4.5 密钥管理技术4.6 访问控制及数字签名技术-解读
系统架构设计师教程 第4章 信息安全技术基础知识-4.5 密钥管理技术&4.6 访问控制及数字签名技术 4.5 密钥管理技术4.5.1 对称密钥的分配与管理4.5.1.1 密钥的使用控制4.5.1.1.1 密钥标签4.5.1.1.2 控制矢量4.5.1.2 密钥的分配4.5.1.2.1物理方式14.5.1.2.2 物理方式24.5.1…...
C语言日常练习Day13
目录 一、设半径r1.5,圆柱高h3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积 二、编写程序,用getchar函数读入两个字符给c1,c2,然后分别用putchar函数和printf函数输出这两个字符 三、输入4个整数,要求按由小…...
map、foreach、filter这些方法你还不知道什么时候该用哪个吗?那就看过来
forEach:主要用于遍历数组并对每个元素执行某种操作,通常用于改变当前数组里的值。它不会返回新数组,而是直接在原数组上进行操作。forEach方法不支持return、break、continue等语句,因为这些语句在forEach中不会…...
6.3 面向对象技术-设计模式
设计模式 创建型模式 结构型模式...
Mac 中安装内网穿透工具ngrok
ngrok 是什么? Ngrok 是一个网络工具,主要用于在网络中创建从公共互联网到私有或本地网络中运行的web服务的安全隧道。它充当了一个反向代理,允许外部用户通过公共可访问的URL访问位于防火墙或私有网络中的web应用程序或服务。Ngrok 特别适用…...
python count返回什么
描述 count() 方法用于统计字符串中某个子字符串出现的次数,可选参数为开始搜索与结束搜索的位置索引。 语法 count() 方法语法: S.count(sub[,start0[,endlen(S)]]) 参数 sub -- 搜索的子字符串。 S -- 父字符串。 start -- 可选参数,…...
mac清理软件哪个好用免费 MacBook电脑清理软件推荐 怎么清理mac
随着使用时间的增长,mac电脑会积累一些不必要的垃圾文件,这些文件会占用宝贵的存储空间,影响电脑的运行速度和稳定性。因此,定期清理mac电脑的垃圾文件是非常有必要的。市场上有许多优秀的Mac清理软件,包括一些出色的国…...
学生党百元蓝牙耳机哪个性价比高?精选四款超强性价比耳机型号
现阶段,蓝牙耳机技术逐渐成熟,蓝牙耳机在我们的学习和娱乐中承担着很重要的角色,那么在面对众多品牌和型号中,学生党们在选择蓝牙耳机上纠结不已,到底学生党百元蓝牙耳机哪个性价比高?作为一个蓝牙耳机重度…...
蓝桥杯嵌入式STM32G431RBT6保姆级外设配置指南(HAL库版,含LCD、ADC、PWM)
蓝桥杯嵌入式STM32G431RBT6实战开发全攻略:从HAL库配置到竞赛项目搭建 第一次拿到DK117E-G4开发板时,面对密密麻麻的引脚和陌生的HAL库,大多数嵌入式初学者都会感到无从下手。本文将带你从零开始,用最直观的方式掌握STM32G431RBT6…...
如何彻底卸载Windows 10中的OneDrive:终极解决方案指南
如何彻底卸载Windows 10中的OneDrive:终极解决方案指南 【免费下载链接】OneDrive-Uninstaller Batch script to completely uninstall OneDrive in Windows 10 项目地址: https://gitcode.com/gh_mirrors/on/OneDrive-Uninstaller 你是否曾经为Windows 10中…...
指纹识别入门避坑指南:用MATLAB做仿真时,为什么你的特征点总提不准?
MATLAB指纹识别仿真:特征提取不准的5大技术陷阱与解决方案 指纹识别算法开发过程中,特征提取环节的准确性直接决定了整个系统的性能表现。许多研究者在MATLAB仿真阶段就遇到了特征点定位偏差、伪特征过多等典型问题。本文将针对这些高频痛点,…...
IIC总线上拉电阻:从开漏原理到阻值计算的工程实践
1. IIC总线与开漏输出的基础原理 IIC总线作为一种经典的串行通信协议,由Philips公司(现NXP)在1980年代推出,至今仍是嵌入式系统和智能硬件中最常用的通信方式之一。它的精妙之处在于仅用两根线——SCL(时钟线…...
开源IM机器人技能框架openclaw-skill-imsg架构解析与实战
1. 项目概述:一个面向即时通讯消息的自动化技能框架最近在折腾一个挺有意思的开源项目,叫openclaw-skill-imsg。光看这个名字,可能有点摸不着头脑,我来拆解一下。openclaw听起来像是一个开源(open)的“爪子…...
告别混乱!用SAP策略组精细化管理ETO项目需求:从PS策略到MRP运行的完整指南
SAP ETO项目需求管理的策略组实战:从配置到MRP的完整链路解析 在复杂产品制造领域,按订单设计(ETO)模式的项目管理常常面临需求传递断层、物料计划与项目进度脱节等典型痛点。当一台需要分阶段交付的定制化工业电脑涉及数百个零部…...
ARM GICv3中断控制器与ICC_CTLR寄存器详解
1. ARM GICv3中断控制器概述在ARM架构的嵌入式系统中,通用中断控制器(GIC)是管理硬件中断请求的核心组件。GICv3作为当前主流的版本,相比前代架构进行了多项重要改进,其中CPU接口寄存器组的增强尤为显著。作为系统开发者,深入理解…...
ExifToolGUI终极指南:告别繁琐,用图形界面批量管理照片元数据
ExifToolGUI终极指南:告别繁琐,用图形界面批量管理照片元数据 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 你是否曾面对成百上千张照片,想要批量修改拍摄时间、统一添…...
霍夫变换:从参数空间投票到图像形状检测的经典算法
1. 霍夫变换的核心思想:参数空间投票机制 第一次接触霍夫变换时,我被它独特的思维方式惊艳到了。想象一下,你面前有一张布满星星的夜空照片,想要找出其中连成直线的星星组合。传统方法可能是拿着尺子比划,而霍夫变换却…...
Browser-Use:基于LLM的智能浏览器自动化框架入门与实践
1. 项目概述:当AI学会“上网冲浪” 如果你和我一样,在过去的几年里尝试过各种RPA工具或者写爬虫脚本来处理网页上的重复性工作,那你一定对那种“脚本一跑就崩,网站一改版就废”的体验深有感触。我们总在幻想,要是能直…...
