WAMP+django的部署配置。

要求:
将django部署到WAMP上,支持多端点的访问。
localhost:为初始页
localhost:8080为django的初始页
环境:
WAMP 3.1.9 64bit
python3.7

思考:
由于WAMP作为服务器用的是Apache,所以实际上是把django配置到Apache上就好了。

步骤:
用官方的实际上会出不少错误,所以还是要靠自己的小脑瓜子才行。
1.下载WAMP(自己用链接),确定能启动Apache
2.安装python和django(很多教程就不细说了),确定可以启动django
3.安装mod_wsgihttps://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
下载对应版本。
ap24代表:apache为v2.4
vc15代表:你的vc版本是2015
cp37代表:你的python是3.7版本。后面就是64位系统。
在这里插入图片描述
下载此文件,到python安装目录下。
C:\Users\AppData\Local\Programs\Python\Python37.
然后进入cmd到此目录,命令行输入。

pip3 install "mod_wsgi-4.5.24+ap24vc14-cp37-cp37m-win_amd64.whl"

然后到目录下的Scripts文件夹,会看到一个mod_wsgi-express
cmd进入此目录再输入

mod_wsgi-express module-config

会出现三行提示:

LoadFile "c:/users/appdata/local/programs/python/python37/python37.dll"
LoadModule wsgi_module "c:/users/appdata/local/programs/python/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/users/appdata/local/programs/python/python37"

记住它。
4:配置httpd.conf和httpd-vhosts.conf文件
配置httpd.

#增加监听端口
Listen 8080
#上面的三行字符直接复制过来
LoadFile "c:/users/appdata/local/programs/python/python37/python37.dll"
LoadModule wsgi_module "c:/users/appdata/local/programs/python/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/users/appdata/local/programs/python/python37"
#设置工程路径,如果有多个工程就用分号分开
WSGIPythonPath "E:/djangoxxx/project;E:/djangoxxx/project2;"

配置httpd-vhosts.很重要!!!

#加多一个端点8080
<VirtualHost *:8080>
  ServerName localhost
  ServerAlias localhost
  #工程根目录
  DocumentRoot "E:/djangoxxx/project" 
  #工程目录下的wsgi.py文件
  WSGIScriptAlias / "E:/djangoxxx/project/project/wsgi.py" 
  #工程
  <Directory "E:/djangoxxx/project/project">
	 <Files wsgi.py>  
	 #这个一定要有,否则报错没有打开ExecCGI
	 Options ExecCGI
	 #这个一定要有,否则会报错
AddHandler wsgi-script .py
    Require all granted 
	</Files> 
  </Directory>
  
 #设置静态文件路径
Alias /static E:/djangoxxx/project/static
<Directory E:/djangoxxx/project/static>  
AddHandler wsgi-script .py
    AllowOverride None  
    Options None  
    Require all granted  
</Directory> 

</VirtualHost>

此时大功告成,localhost:8080你就能看到亲爱的小火箭了!

解决这个问题,记录我遇到的3个坑。
根据网上教程配置完后:无法看到小火箭。
看error.log的报错
1.报403,问题在于没有打开ExecCGI
解决:添加 Options ExecCGI

2.报500,问题在于我的wsgi.py文件第一行必须是#!。
解决:打开wsgi文件的第一行添加#!即可

3.报500,以上两个问题都解决后,开始报我的这个wsgi不是有效的WIN32程序。此问题所花时间最久,一开始以为是下载的mod_wsgi版本有误,重新确认下载又确认了Apache和python都是64位后。
某一期间看到了要加入这个AddHandler wsgi-script .py。用来支持.py文件。
加入后,总算正常运行了!。。两天时间一句话。心累

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值