Windows Server2016使用Apache 部署Django的Websocket

最近的项目需要做一个聊天室,自然而然想到了使用websocket,但是我在网上在了半天,都没有找到合适的解决办法,东拼西凑,解决了这个问题,下面说一下了的解决流程

配置环境

Python版本:3.6
Mysql版本:8.0.19
Apache版本:Apache2.4

第一步

首先打开Apache的conf文件夹下的httpd.conf文件,
1、搜索LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so,删除他前面的#号
2、搜索LoadModule proxy_module modules/mod_proxy.so,删除他前面的#号

打开配置虚拟环境的那个文件,这得看你自己是怎么配置的,有的人是在vhost-ssl.conf文件,有的人是在
httpd-ssl.conf,有的是在httpd-vhosts.conf文件,关键在于你自己是怎么配置的,如果你还没有配置,可以去看我的另外一篇文章。
这里我打开的的vhost-ssl.conf文件

Listen 443
#自定义ssl
#第二个
<VirtualHost *:443>
	# 项目根路径,经测试,这个写到项目所在文件夹或者直接进入文件夹内都可以
	DocumentRoot "C:/wwwroot/mxg"
	# 这里填写域名,没有域名随便填写即可
	ServerName 你的域名
	ServerAlias 你的域名
	SSLEngine on
	SSLProtocol TLSv1 TLSv1.1 TLSv1.2
	SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
	SSLCertificateFile "证书crt"
	SSLCertificateKeyFile "key文件路径"
	SSLCertificateChainFile "1_root_bundle.crt文件路径"
	# 项目的wsgi.py文件,注意目录前有`/`和空格
	
	WSGIScriptAlias / C:/wwwroot/mxg/mxg/wsgi.py
	<Directory "C:/wwwroot/mxg/mxg">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
	 # 静态文件路径
	Alias /static C:/wwwroot/mxg/static
	<Directory C:/wwwroot/mxg/static>
		AllowOverride None
		Options None
		Require all granted
	</Directory>

	ProxyRequests Off
	ProxyPass /chat_room/ ws://127.0.0.1:8000/chat_room/
	ProxyPassReverse /chat_room/ ws://127.0.0.1:8000/chat_room/
	# 错误日志记录文件
	ErrorLog "C:/wwwroot/mxg/logs/access_ate.log"
	TransferLog "C:/wwwroot/mxg/logs/access.log"
</VirtualHost>    

这里的 /chat_room/ 就是我的html文件中写的websocket路径

在这里插入图片描述

关键在于你得在服务器上面还得再开启一个窗口,用于执行转发过来的ws信息,打开命令行窗口,把你的django项目运行起来,这样就可以正常使用websocket了

第二步

python manage.py runserver 127.0.0.1:8000

或者也可以直接创建一个bat文件
内容如下:

@echo off
python c:/wwwroot/mxg/manage.py runserver 127.0.0.1:8000 #这里的python后面就是DJANGO项目manage.py 存在的路径

保存之后双击运行它就可以了。现在就只能这样去运行了,暂时我也没有想到其他的办法,有高招的朋友,欢迎下面留言。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值