django + dwebsocket + apache

1 前言

最近有个项目,有个需求:前端和小程序(exe)要进行双工通信,就选择了django + dwebsocket + apache + pyQT(exe)。

但是apache部署的时候懵逼。应该我太笨,对网上的教程总是迷惑。后面准备写下apache,nginx启动的方法。

2 Apache

2.1 环境

Server version: Apache/2.4.29 (Ubuntu)

2.2 思路

1. Apache无法启动websocket(asgi)

2. 通过ProxyPass映射成统一地址

2.3 流程

1.  配置Apache,假如端口为8001(注,前后台,正常的wsgi)

2.  再启动一个进程:python manage.py runserver 127.0.0.1:8002

3. 安装Apache依赖的mod

sudo a2enmod proxy_wstunnel

sudo a2enmod mod_proxy(我只缺这个)

sudo a2enmod rewrite

测试是否安装成功apachectl  -t -D DUMP_MODULES |grep proxy

4. 修改第一步/etc/apache2/sites-available/backecd.conf

<Location /api/v1/ws/>

         ProxyPass ws://127.0.0.1:8001/api/v1/ws/

</Location>

5. 重启Apache

 

 

 

ProxyPass

posted @ 2020-03-25 17:52  fly_pig  阅读(416)  评论(0编辑  收藏  举报