1、原生的python3.8.5(默认安装,不更改安装目录),不要使用Anaconda做虚拟环境。
2、在windows系统下需要,mod_wsgi 模块。
创建虚拟环境:(在当前目录下创建名为 gzgs_alert 的虚拟环境)
python -m venv gzgs_alert
激活gzgs_alert 虚拟环境,安装mod_wsgi:
- #激活虚拟环境
- gzgs_alert\Scripts\activate
whl文件下载:
https://download.lfd.uci.edu/pythonlibs/archived/mod_wsgi-4.9.2-cp38-cp38-win_amd64.whl
复制文件到虚拟环境的Scripts目录下:
D:\job\gs\gs_pro\venv\gzgs_alert\Scripts
cmd进入Scripts目录下:执行
- #安装模块
- pip install mod_wsgi-4.9.2-cp38-cp38-win_amd64-.whl
获取mod_wsgi 安装后,对应的三个信息:复制有用(mod_wsgi-express module-config 也可以查看)
- (gzgs_alert) D:\job\gs\gs_pro\gzgs_alert>mod_wsgi-express module-config
- LoadFile "C:/Program Files/Python38/python38.dll"
- LoadModule wsgi_module "d:/job/gs/gs_pro/venv/gzgs_alert/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
- WSGIPythonHome "d:/job/gs/gs_pro/venv/gzgs_alert"
1、项目的路径
D:\job\gs\gs_pro\gzgs_alert
2、使用的虚拟环境的路径
D:\job\gs\gs_pro\venv\gzgs_alert
3、wsgi.py 所在路径
D:\job\gs\gs_pro\gzgs_alert\gzgs_alert\wsgi.py
4、asgi.py所在路径
D:\job\gs\gs_pro\gzgs_alert\gzgs_alert\asgi.py
5、channels设置的路由
- # 这个变量是存放websocket的路由
- socket_urlpatterns = [
- path('socket/app/
/' ,customers.APPConsumer.as_asgi()), - path('socket/gpu/
/' ,customers.GPUConsumer.as_asgi()), -
- ]
1、全局配置
- Define SRVROOT "D:/apps/daily/Apache24" #apache安装的目录
- Listen 0.0.0.0:8000 #绑定的IP和端口
- ServerName localhost:8000 #服务名,用来标识的,无特殊作用
-
- #要反向代理websocket时,释放这两个注释
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
2、关于django项目的相关配置
- ### django项目的配置 ###
-
- # 1.安装wsgi模块后,出来的三行字符,直接复制过来
- LoadFile "C:/Program Files/Python38/python38.dll" #依赖的原生python解释器
- LoadModule wsgi_module "d:/job/gs/gs_pro/venv/gzgs_alert/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd" #加上的mod_wsgi模块
- WSGIPythonHome "d:/job/gs/gs_pro/venv/gzgs_alert" #python虚拟环境的位置
-
- # 2.设置django项目中的wsgi路径
- WSGIScriptAlias / D:\job\gs\gs_pro\gzgs_alert\gzgs_alert\wsgi.py
-
- # 3.设置django项目的路径
- WSGIPythonPath D:\job\gs\gs_pro\gzgs_alert
-
-
- Require all granted
-
-
- #4、设置静态文件路径
- Alias /static D:\job\gs\gs_pro\gzgs_alert\static
- AllowOverride None
- Options None
- Require all granted
-
-
- #5、配置反向代理websocket请求:
- #请求: ws://localhost:8000/ws/xx/xx 代理到 ws://localhost:8009/socket/xx/xx
- ProxyPass /ws ws://localhost:8009/socket
- ProxyPassReverse /ws ws://localhost:8009/socket
-
-
- WSGIApplicationGroup %{GLOBAL}
1、apache会运行django的wsgi服务
2、对于channels ,需要手动启动服务: pip install daphne
- #设置配置文件
- set DJANGO_SETTINGS_MODULE=gzgs_alert.settings
-
- #启动asgi服务
- daphne -b 0.0.0.0 -p 8009 gzgs_alert.asgi:application