WampServer和Django配置web开发环境

WampServer和Django配置web开发环境

经过学习python的语法,学习django框架,终于要上线了。那么问题来了,怎么上线?经过上网搜索,终于知道要跟apache结合,那么问题又来了?怎么结合呢?要通过一个桥梁mod_wsgi或者mod_python模块,继续搜索发现mod_python已经停止更新,而且mod_wsgi比mod_python性能更好。下来该动手了!折腾了半天,终于将Django与apache的开发环境配置好了。

下载安装需要的软件

首先介绍我所使用的开发软件:

WampServer 2.5(其中Apache2.4.9)

Python2.7(Win32)

Django(V1.8)

对于将Apache和Python结合起来,我在网上找了很多资料,有一些有帮助,有一些已经过时了,鉴于此,我觉得有必要记录一下自己的过程,也好帮助后来的初学者。

首先我们需要安装Apache,我这里使用的Wamp套件,接着安装Python,这个根据自己的情况安装,下来安装Django框架,这个应该也是学习Python的使用中学习的,我使用的pip安装,你也可以在Django的官网下载安装包,通过运行

>> python setup.py install

进行安装。这些我们在此文中就不过多介绍,网上教程都很多,而且绝大多数是正确可用的。

最后一个是下载他们之间的一个桥梁模块,这个叫mod_wsgi.so的文件。这个可是重中之重,这个文件可不好找,它是开源项目,以前是在google code上面的,现在google code 即将关闭,所以搬到了github,但是github没有编译好的,需要自己编译,就有些麻烦了。下来所有的可用文件都指向了这个源头,都说是在这个网站可以下载:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

进去之后找到自己的对应版本下载,但是下载下来是一个.whl后缀的文件,那么怎么没有需要的.so文件呢?问题就在这里,我也郁闷了半天,最后在一个网站找到了答案,可以将.whl后缀直接修改为.zip后缀,然后解压,可以在里面找到你要的mod_wsgi.so文件。

建立Django项目

首先我们在自己的网站目录里面建立项目,我的是在D:\Wamp\www目录中新建一个Django项目pyMyweb。

>> D:
>> cd D:\Wamp\www\
>> django-admin startproject pyMyweb   #新建项目

此时的目录结构是:

--pyMyweb
  |--pyMyweb  
    |--__init__.py
    |--settings.py
    |--urls.py
    |--wsgi.py
  |--manage.py

配置Apache支持Django项目

好了,将这个文件拷贝到你的Apache的modules文件夹,我的是在:D:\Wamp\bin\apache\apache2.4.9\modules这个文件夹中,然后再在httpd.conf文件最后加入:

LoadModule wsgi_module modules/mod_wsgi.so

#链接apache_wsgi.conf文件
Include "D:\Wamp\www\pyMyweb\apache_wsgi.conf"

这里D:\Wamp\www是我的webroot,而pyMyweb是我的项目目录。

接着在你的项目目录新建一个文件apache_wsgi.conf,使用记事本打开:

#这里的路径D:/Wamp/www/pyMyweb,是用来存放代码的项目文件夹
#wsgi.py是项目生成的程序代码。
WSGIScriptAlias / D:/Wamp/www/pyMyweb/pyMyweb/wsgi.py

<Directory "D:/Wamp/www/pyMyweb/pyMyweb">
    Order allow,deny
    Allow from all
</Directory>

这个时候重启你的apache就可以看到你的网站了,当然我们这个网站目前还不能看。

那么我们就要新建一个应用了,这个是Django的技术了,我在这里建了一个blog应用

>> D:
>> cd D:\Wamp\www\pyMyweb
>> django-admin startapp blog   #新建app

这个时候我们就可以按照自己的要求开发网站了,我做了一个小小的测试,看看我的网站。

django

最后,python开发的网站不像php不要重启服务器,python每次修改都要重启服务器,就像上面的新建应用blog就要重启服务器才能生效。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注