Django-Apache-Windows 部署(有无phpstudy都适用)
2018-03-12 23:27
423 查看
首先,说一下背景。(文字有点多,干货提醒)
以前使用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")
有两个<Directory 需要修改:
第一个是靠近DocumentRoot(下面)的:改为网站根目录地址(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
<Directory D:/allFile/Python_Project/Web/Movie>
<Files wsgi.py>
Require all granted
</Files>
</Directory> 最后,在httpd.conf文件中加入如下命令将项目的conf文件包含进去:Include conf/project_movie.conf
闲谈:
其实小网站还是php比较好,Django的优势在于python。
仔细一想,其实算是瞎折腾,感觉好像屏蔽掉了php,有没有phpstudy都一样,但是有了phpstudy直接就有了mysql,还能一键启动,还是蛮实用的。
还有很多没有深入了解,比如如何在Django和php中切换,如何在多个Django项目中切换。
相关文章推荐
- windows 下 apache 部署 django python3.6
- Windows 7中将Django部署到Apache Web Server
- Windows下 Django部署到Apache
- 部署django - Apache + mod_wsgi + windows
- Windows下Django1.6 + Apache2.2 + mod_WSGI 配置部署
- Windows环境下,将Django部署到Apache Web Server
- 部署django : Apache + mod_wsgi + windows
- windows下apache部署django项目个人总结(备查)
- 部署django : Apache + mod_wsgi + windows
- Windows上Python3.6环境django部署到Apache服务器
- windows + Apache + mod_wsgi 部署发布Django项目
- Windows下集成apache的 Django部署
- apache+mod_wsgi+django在windows下的部署
- apache+mod_wsgi+django在windows下的部署
- apache+mod_wsgi+django在windows下的部署
- 最新版windows 2012R2、Apache24、mod_wsgi、Django1.9、python3.4项目部署(生产环境)
- 在Windows下使用Python3、Django和Apache部署网站
- Windows下Django1.6 + Apache2.2 + mod_WSGI 配置部署
- Django之Windows系统网站部署(Apache+mod_wsgi+VC14)
- windows+Apache部署django项目