漆黑天使复活 2023-06-07 14:32 采纳率: 44.4%
浏览 64
已结题

Nginx服务器配置django的channels实现即时聊天

项目在本地已经配置做,可以通过channels实现即时聊天,在搬运到服务器的时候出现了问题,目前还没有使用supervisor来启动daphne,而是直接手动启动daphne,想试下效果,但没有成功
Nginx.conf的相关配置如下


```bash
server {
    listen      80;
    server_name 8.217.113.224 www.hvacsalestool.com;
    charset utf-8;
    location / {
         uwsgi_pass  127.0.0.1:8000;
         include /etc/nginx/uwsgi_params;
    }
    location /static {
    # 指定静态文件存放的目录
        alias /var/openai/openai_wechat/static;
    }

    location /media {
    # 指定静态文件存放的目录
        alias /var/openai/openai_wechat/media;
    }
    location /wss {
        proxy_pass http://127.0.0.1:8001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;
        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_set_header X-Forwarded-Host $server_name;
    }

在django项目目录下启动daphne -p 8001 -b 127.0.0.1 openai_wechat.asgi:application
启动成功如下图

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/860628811686137.png "#left")

然后再开一个远程启动Nginx

前端是微信小程序访问wss://www.hvacsalestool.com/websocket/chat/建立通讯,没有成功

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/353898811686160.png "#left")

而Nginx显示就是没找到

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/27692981168614.png "#left")


看样子应该是没有正确映射到daphne的端口,但应该怎么修改呢?谢谢。
_________________________________________________________________________________________________
我尝试直接在服务器上启动django,使用python manage.py runserver 0.0.0.0:8000,然后利用ws://ip:8000/websocket/chat/去建立连接,没有问题,这么看来肯定是Nginx的配置出现了问题,
我又尝试了channel的官方配置



```bash
upstream channels-backend {
    server 127.0.0.1:8001;  # 将此处的地址和端口设置为您自己的 Channels 后端服务器地址和端口
}


server {
    ...
    location / {
        try_files $uri @proxy_to_app;
    }

    location @proxy_to_app {
        proxy_pass http://channels-backend;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_redirect off;
        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_set_header X-Forwarded-Host $server_name;
    }
    ...
}


依然是无法找到连接

  • 写回答

7条回答 默认 最新

  • IT工程师_二师兄 2023-06-07 15:04
    关注

    具体报错发给我看一下,应该缺少很多依赖

    评论

报告相同问题?

问题事件

  • 系统已结题 6月15日
  • 修改了问题 6月7日
  • 创建了问题 6月7日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看