在Windows下使用Python3、Django和Apache部署网站
来源:互联网 发布:百度域名 编辑:程序博客网 时间:2024/05/18 02:45
Windows下进行与Python相关的开发实在是有诸多坑。但另一方面,到了Win10,Windows的易用性和稳定性已经达到了一个相当的高度,再加上丰富的软件生态。对我来说,Windows现在就是一种“看不惯又干不掉”的状态。
曾经用Wamp+WordPress在Windows下部署过博客网站,没想到这次用Django,感觉完全不一样了。或许Django毕竟不是WordPress那种模板式博客应用,而只是一个框架吧。搭建过程种出现了无数的坑。虽然总结起来步骤倒也并不是很多。但实在是相当麻烦。现在记录如下。
一:环境准备。
首先,按照官方文档的说法,如果你想保证你的网站程序稳定运行,最好在环境上做到以下几点:
0、需要给Apache装上mod_wsgi。这是一个用来在Apache上支持Python的模块。这个文件在Windows下编译非常麻烦,不过我们可以在Github上下载已编译完成的文件。下载地址:mod_wsgi_4.4.12
1、需要准备的所有东西——Python、Apache、mod_wsgi等等,要么就全用32位,要么就全用64位。两种不能混用。
2、安装Python时要为所有用户安装,不能只为你自己安装
3、已编译完成的mod_wsgi在编译时使用的Python版本、Microsoft C/C++ Compiler的版本和你现在用的Python跟Microsoft C/C++ Compiler的版本必须完全一样。嗯,你还是需要在你的电脑上也装上Microsoft C/C++ Compiler的。在我给出的下载文件里,我最后用的是Python3.4,VC10的64位版本。VC++ Compiler的安装——下载这里的Microsoft Visual C++ Build Tools 2015,然后安装。
二:进行安装
1、其实所谓安装就是把这个.so文件改名mod_wsgi.so,然后复制到Apache安装文件夹下的Modules文件夹里。我安装的是wamp,所以我的路径是D:\wamp64\bin\apache\apache2.4.23\modules。然后再重启Apache服务,这时我们会发现Wamp的图标由绿色变成了黄色,点开菜单里的modules,我们会发现这个mod已经被发现,但是由于配置文件中没有相关Load Modules语句,所以不能正确加载。
这就提示我们去http.conf中加入相关的语句。不过这个语句不能照抄它这个提示里给出的,应该写LoadModule wsgi_module modules/mod_wsgi.so 。这个文件里有一大片连在一起的Load Modules语句,可以放在这堆语句的最后,也可以放在整个文件的最后,这个主要看你习惯。
2、当然,你要运行Django,首先你要有一个需要运行的Django程序,如果大家已经有了,把这个程序的目录复制到Apache的www文件夹下。然后指路就行了,如果没有,直接在www下使用Django的startproject也行,具体我就不说了。
3、搞完程序之后,就是指路。在http.conf底下继续加入一些路径声明。网上的教程讲到这一块都已经讲的比较详细了。我现在只针对我的情况说明,我做的是一个非常简单的页面。几乎没有任何动态效果。也没有用virtualenv,所以前面只要声明两行。因为直接在域名根目录运行,所以ScriptAlias的前面一部分直接就是‘/’。PythonPath是你Python程序的目录。
WSGIScriptAlias / D:/wamp64/www/converter/converter/wsgi.pyWSGIPythonPath D:/wamp64/www/converter
# 下面这一部分是授权访问文件的权限。唔,Apache2.3版本以下用来授权的那一句不是这样写的。其他都一样。
<Directory D:/wamp64/www/converter/converter><Files wsgi.py>Require all granted</Files></Directory>
三:完成
在完成这些之后,如果你的Django程序没有问题,网页应该就能正常运行了,至少我的程序此时已经可以运行了。在本机上访问127.0.0.1就可以在浏览器里看到并使用你制作的web程序。如果你有域名,你也可以很方便的把它放到互联网上。我这里也不详细说了,总之,祝大家玩的开心。
附:其实我当时因为比较着急没有耐心去看几篇官方的英文文档。其实我相信文档中不难找到适用更新版本,乃至适用python3.6的方法,如果大家有兴趣看,英文也无压力,可以参考以下文档:
· https://pypi.python.org/pypi/mod_wsgi/4.5.15 ——mod_wsgi文档
· https://github.com/GrahamDumpleton/mod_wsgi/blob/develop/win32/README.rst ——官方的在windows上运行mod_wsgi的教程
· https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/modwsgi/ ——Django官方文档的部署教程
- 在Windows下使用Python3、Django和Apache部署网站
- windows 下 apache 部署 django python3.6
- 【Django】 Windows下使用Apache+mod_wsgi部署Django
- apache+mod_wsgi+django在windows下的部署
- apache+mod_wsgi+django在windows下的部署
- apache+mod_wsgi+django在windows下的部署
- 在linux apache 上部署 django 网站
- Windows上Python3.6环境django部署到Apache服务器
- windows环境下部署django mod_wsgi apache
- Windows下 Django部署到Apache
- 新版本Django在Windows和Linux下的部署
- 在windows下使用apache与mod_python来集成django
- windows Apache 部署 django
- ubuntu下django和apache的部署
- python2和python3同时在windows下pip的使用
- windows下apache部署django项目个人总结(备查)
- windows下apache部署django项目个人总结(备查)
- 部署django : Apache + mod_wsgi + windows
- No1090. Highways
- mysql用户权限管理
- Python的regex模块——更强大的正则表达式引擎
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析
- JavaScritp( for 循环语句的理解 )
- 在Windows下使用Python3、Django和Apache部署网站
- 并查集
- Vmware12 安装centos6.5 64位(centos-6.5-x86_64-bin-DVD1.iso)出错
- Unsupervised Domain Adaptation with Residual Transfer Networks(2017)
- 新概念4-14
- Centos6.5安装Tengine
- 机器学习知识点
- synchronized 和 lock 基本使用以及死锁分析
- Anaconda4.3.1安装opencv3