Django-Apache-Windows 部署(有无phpstudy都适用)

首先,说一下背景。(文字有点多,干货提醒

    以前使用php开发,在服务器上用phpstudy快速配置;然后喜欢上了python,然后就想着把爬虫和web整合起来,然后就用Django框架。

    但是,我想在服务器上使用php的情况下,也能用Django框架,同样,Django也能在Apache环境下部署。

    网上有很多Django在Apache环境下部署的教程,我把我读过的文章并把整合自己经历的坑,写了这篇blog。

    运行环境:

        系统:Windows Server 2012 R2 (阿里云学生服务器)

        服务:Apache 2.4.29(64位)(整合在phpstudy中)

        语言:Python 3.6 (64位)+Django 2.0.2框架

        (这边Apache和Python必须是一样的位制,不然后面可能报错哦

    准备工作:    

        Apache:Apache官方网站:http://httpd.apache.org/(根据自己需要下载相应版本)

        mod_wsgi模块: http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi (根据自己需要下载相应版本


实战:

1、安装Apache:

    本人使用的phpstudy整合的Apache,但是默认都是32位的,所以,我需要先把默认32位的Apache改为64位的。

    解压下载好的64位Apache,然后替换phpstudy中的Apache文件夹如果你没有使用phpstudy,直接解压出来就可以了),然后修改conf文件夹下httpd.conf文件:

    具体要修改的几项:

ServerRoot:改为Apache目录地址(eg:"C:/phpstudy/Apache")

ServerName:改为localhost(去掉#)

DocumentRoot:修改为你的网站根目录地址(也可以改为phpstudy的WWW文件夹)(eg:"C:\phpstudy\WWW")

ScriptAlias:改为Apache下cgi-bin文件夹的地址(eg:"C:/phpstudy/Apache/cgi-bin")

有两个

      PS:(当然也可以参考phpstudy中以前默认Apache的配置文件改),(可能讲的不是很详细,比如安装VC库之类的,我这就不介绍了,可以单独百度),(phpstudy用户,改了Apache后出现服务冲突之类的问题,不妨重新安装一下phpstudy,记得备份


2、安装mod_wsgi模块:

        定位到存放下好的mod_wsgi模块的目录,然后pip install就可以了。


3、配置属于项目的conf文件:

        定位到python安装目录下的Scripts目录:

            使用命令

mod_wsgi-express module-config

       首先,将得到的三行内容复制出来,在Apache的httpd.conf同目录下新建一个conf文件,可以以自己Django项目的名字命名(每一个项目都有一个属于自己的conf文件),在conf文件中将上面命令得到的三行内容粘贴进去。(在httpd.conf或者项目的conf文件中都可以

LoadFile "c:/program files/python36/python36.dll"
LoadModule wsgi_module "c:/program files/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/program files/python36"

        接着,在conf文件下面写一些其他配置信息:

#mod_wsgi设置  
LoadFile "c:/program files/python36/python36.dll"
LoadModule wsgi_module "c:/program files/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/program files/python36"  
#指定website的wsgi.py配置文件路径  
WSGIScriptAlias / D:/allFile/Python_Project/Web/Movie/Movie/wsgi.py 
#指定项目路径  
WSGIPythonPath  D:/allFile/Python_Project/Web/Movie  
  
  
    Require all granted  
  

           最后,在httpd.conf文件中加入如下命令将项目的conf文件包含进去:

Include conf/project_movie.conf


闲谈:

    其实小网站还是php比较好,Django的优势在于python。

    仔细一想,其实算是瞎折腾,感觉好像屏蔽掉了php,有没有phpstudy都一样,但是有了phpstudy直接就有了mysql,还能一键启动,还是蛮实用的。

    还有很多没有深入了解,比如如何在Django和php中切换,如何在多个Django项目中切换。

    

你可能感兴趣的:(环境,IDE配置)