【vue+websocket】vue本地链接websocket正常,线上部署websocket 无法加载响应数据【已解决】

1.nginx配置,进行反向代理

location /链接websocket的名称 {
	proxy_pass http://localhost:websocket端口号/链接websocket的名称;
	proxy_http_version 1.1;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection "Upgrade";
}

2.开放websocket端口号

在你的服务器的安全组中开放websocket的端口号。如果有,可以忽略当前步骤。
在这里插入图片描述

3.前端websocket配置

http情况下用ws,https情况下必须要使用wss
同时,线上的websocket需要用域名(如果你配置了域名)

/**
     * socket链接
     */
    init(){
        let socketUrl = "vuecms.cn"
        #本地是http,配置ws。线上是https,配置wss
        let wssType = import.meta.env.VITE_NODE_ENV=='pro'?'wss://':'ws://';
        this.client = io(wssType+socketUrl,{path:"/socket"}).connect()
        ....
    }

踩坑不易,还希望各位大佬支持一下 \textcolor{gray}{踩坑不易,还希望各位大佬支持一下} 踩坑不易,还希望各位大佬支持一下

📃 个人主页: \textcolor{green}{个人主页:} 个人主页: 沉默小管

📃 个人网站: \textcolor{green}{个人网站:} 个人网站: 沉默小管

📃 个人导航网站: \textcolor{green}{个人导航网站:} 个人导航网站: 沉默小管导航网

📃 我的开源项目: \textcolor{green}{我的开源项目:} 我的开源项目: vueCms.cn

🔥 技术交流 Q Q 群: 837051545 \textcolor{green}{技术交流QQ群:837051545} 技术交流QQ群:837051545

👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

如果有不懂可以留言,我看到了应该会回复
如有错误,请多多指教

<think>好的,我需要帮助用户了解如何使用DeepSeek、Ollama、VueWebSocket进行本地部署。首先,我得分解问题,明确每个组件的作用和整合方式。 首先,用户提到了DeepSeek,可能是指深度求索公司的AI模型,需要确认是否需要通过API调用还是本地运行。假设这里需要本地部署,可能需要Ollama来管理模型,因为Ollama支持本地运行大型语言模型。然后,Vue作为前端框架,WebSocket用于实时通信,所以整个架构应该是前端Vue通过WebSocket与后端的Ollama服务交互,可能DeepSeek模型通过Ollama加载。 接下来,我需要分步骤来构建教程。首先设置后端,安装Ollama,下载DeepSeek模型,并配置WebSocket服务器。可能需要使用Node.js或类似工具搭建WebSocket服务,监听端口,处理前端连接,并调用Ollama的API生成响应。 然后是前端部分,使用Vue创建项目,安装WebSocket客户端库如sockjs-client,建立连接,发送消息并接收流式响应。可能需要处理Markdown内容的渲染,所以需要安装marked和dompurify来安全地显示内容。 需要注意的细节包括跨域问题,WebSocket服务器的正确配置,以及Ollama是否支持DeepSeek模型。如果Ollama不支持,可能需要调整,比如使用其他方式加载模型,或者用户可能需要转换模型格式。但根据用户提供的引用,可能已经有一些安装步骤,比如npm install sockjs-client等,这可能涉及前端依赖。 另外,代码示例需要正确,比如后端WebSocket服务器的代码,处理连接,调用Ollama的生成接口。前端Vue组件中,建立WebSocket连接,处理发送和接收数据,并更新界面。 可能遇到的问题包括模型是否成功加载WebSocket连接是否正常,前后端端口配置是否正确,以及安全处理用户输入。需要确保步骤清晰,用户能够逐步跟随,安装依赖,配置环境,并测试每个部分是否工作。 最后,生成相关问题,可能涉及性能优化、部署到生产环境、处理大模型的内存问题,或者扩展功能如历史记录保存等。需要确保问题与教程内容相关,帮助用户进一步探索。</think>### 分步教程:使用 DeepSeek、Ollama、VueWebSocket 实现本地部署 --- #### **1. 环境准备** - **安装 Node.js**:确保安装 v16+ 版本 ```bash curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -y nodejs ``` - **安装 Ollama**:本地运行大语言模型[^1] ```bash curl -fsSL https://ollama.com/install.sh | sh ollama run deepseek # 假设已支持DeepSeek模型 ``` --- #### **2. 后端服务搭建** ```javascript // server.js const WebSocket = require('ws'); const { spawn } = require('child_process'); const wss = new WebSocket.Server({ port: 8080 }); wss.on('connection', (ws) => { ws.on('message', (message) => { const ollama = spawn('ollama', ['generate', 'deepseek', message]); ollama.stdout.on('data', (data) => { ws.send(data.toString()); }); ollama.stderr.on('data', (data) => { console.error(`stderr: ${data}`); }); }); }); ``` 运行服务: ```bash node server.js ``` --- #### **3. 前端 Vue 项目** 1. **初始化项目**: ```bash vue create deepseek-client cd deepseek-client npm install sockjs-client marked dompurify ``` 2. **WebSocket 组件**: ```vue <!-- src/components/Chat.vue --> <template> <div> <input v-model="input" @keyup.enter="send"/> <div v-html="processedResponse"></div> </div> </template> <script> import marked from 'marked'; import DOMPurify from 'dompurify'; export default { data() { return { input: '', response: '', ws: null } }, mounted() { this.ws = new WebSocket('ws://localhost:8080'); this.ws.onmessage = (e) => { this.response += e.data; }; }, computed: { processedResponse() { return DOMPurify.sanitize(marked(this.response)); } }, methods: { send() { this.ws.send(this.input); this.input = ''; } } } </script> ``` --- #### **4. 系统架构** $$ \text{用户界面(Vue)} \xrightarrow{WebSocket} \text{Node.js服务} \xrightarrow{CLI调用} \text{Ollama(DeepSeek)} $$ --- #### **5. 运行测试** 1. 启动 Ollama 服务 2. 运行 Node.js WebSocket 服务 3. 启动 Vue 项目: ```bash npm run serve ``` --- §§ 相关问题 §§ 1. 如何验证 Ollama 是否正确加载了 DeepSeek 模型? 2. WebSocket 通信中如何实现断线重连机制? 3. 如何优化大模型响应时的流式传输延迟? 4. 本地部署时如何解决显存不足的问题? : 安装命令参考自前端项目初始化流程,详见引用内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默小管

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值