最近因为帮朋友写一个微信公众号的后台,先前一段时间是部署在新浪云SAE上的,但是新浪云我这边遇到一些麻烦,在使用wechat-sdk时候,总出幺蛾子,搞得我神烦,后来一咬牙,就搞了个阿里云的ECS,由于洒家也是个新手,所以呢,使用的是Windows Server 2012的操作系统。Apache,以及在云上部署Django也是第一次,所以这里把我在整个部署过程这里做一个介绍,也是自己备忘。
我的邮箱:[email protected]
好了,不扯了,Let's get back to business
=========================================分界线===========================================
使用的版本如下:
操作系统: Win10 X64
Python(32位): Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32
Django: 1.8.17
Note:对于Apache和mod_wsgi,大家可以先参考一下:http://blog.csdn.net/meloyi/article/details/55684507
这里对版本有着比较严格的限制,所以我这里列出我使用的版本和下载链接,使用的是VC9
Apache: 2.4.26-x86: http://www.apachehaus.com/downloads/httpd-2.4.26-x86.zip
mod_wsgi: mod_wsgi-py27-VC9.so: http://download.csdn.net/download/levoleurdombres/9895719
-----------------------------------------------------------------------------------------------------------------------
1. 首先,Django工程能够使用自己的开发服务器正确运行
这里新建了一个工程,使用python manage.py runserver 8081,这里使用端口号8081,(端口号别使用系统的那些就行)
多说一句:如果runserver不带端口号的话,默认端口是8000,由于我喜欢用酷狗,但是酷狗的端口号是8000,So,会冲突。
2. Apache安装
1)解压httpd-2.4.26-x86.zip
将httpd-2.4.26-x86.zip解压到C:/目录下
2)运行httpd.exe
CMD,Cd到C:\Apache24\bin,运行httpd.exe
如果出现如下图:
这个意思呢,就是80端口,也就是http那个服务,可能开了网页什么乱八七糟的。所以,修改httpd.conf,在目录【c:\Apache24\conf\httpd.conf】
找到Line 60:Listen 80 --> Listen 8081
在实行 httpd.exe,在浏览器中输入127.0.0.1:8081,如果出现如下图,Apache就成功了。
3) ApacheMonitor.exe
ApacheMonitor.exe在目录C:\Apache24\bin
管理员身份打开CMD【记住,右键,管理员身份打开命令提示符】,进入目录C:\Apache24\bin,执行httpd.exe -k install,Apache 2.4会被安装上。其他的是我其他目录的Apache
Note:记得每次修改httpd.conf或者Django工程里面的文件,记得Restart。
3. mod_wsgi安装
1)拷贝mod_wsgi-py27-VC9.so模块到D:/Apache24/modules
2)添加如下代码到httpd.conf
#添加mod_wsgi-py27-VC9.so 模块
LoadModule wsgi_module modules/mod_wsgi-py27-VC9.so
4. 将Django配置到Apache中
添加如下代码到httpd.conf【还有文件路径记得改了!改成自己的Django的路径,参考代码中的注释】
#指定myweb项目的wsgi.py配置文件路径
WSGIScriptAlias / D:/alanSite/alanSite/wsgi.py
#指定项目路径, 到manage.py
WSGIPythonPath D:/alanSite/
Require all granted
Restart
l浏览器中输入 127.0.0.1:8081
好了,本地Apache+mod_wsgi+django搭建完成了。