Windows下Python3.6.2+Django-1.11.5+httpd-2.4.27-win64-VC14部署网站
最近项目组正在上python+django。现在将部署过程总结下,相关文件也备份下,面得每次都要弄半天。网上很多不靠谱的做法,让我反复试错,浪费不少时间。
原材料:
mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl
说明:
由于Python2.7未来会停止更新,公司就采用最新版算了
Apache不能编译成功,干脆就下了,现在采用的2.4 VC14版本,为啥要用VC14,因为mod_wsgi最新版只支持到VC14
mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl:我们来解释下:
ap24vc14:apache 2.4 VC14版本
cp36-cp36m:这一节就是指python3.6+
win_amd64:就是只64位系统
在这里切记:一定要找到和你的系统版本,python版本,apache版本一致的几个套件,否则死活不成功。
接下里:我们就讲下如何安装:
1.配置Apache
Apache24:解压下来如下。
这里,我们需要修改:config文件。
在37行附近:修改apache的路径:
ServerRoot "D:/install/httpd-2.4.27-win64-VC14/Apache24"
在这个文件里面。默认是C:/Apache24。一键替换为你的实际路径。可以参考上图
在57行附近,修改监听的端口:
#Listen 12.34.56.78:80
Listen 8088
然后运行httpd.exe.这里,需要用命令行中运行。只要命令行窗口不退,表明运行成功。使用http://localhost:8088进行访问
2.安装python及pip
安装python3.6.2的时候,会把pip一起安装出来。然后配置环境变量。网上多的很的教程,随便 参考 这个文档
3.安装Django
参考这个文档: django 官方文档 在这里下载也可以
4.用mod_wsgi打通apache和django
注意:在低版本使用mod_wsgi.so即可让django和apache联系起来。但是,这个版本的wsgi没有.so文件。那么我们如何加载wsgi呢?
将你的 mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl 文件,拷贝到python scripts的目录下,用
pip3 install mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl
进行安装。之后会出现如下内容:
PS C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts> pip3 install C:\Users\Administrator\AppData\Lo
cal\Programs\Python\Python36\Scripts\mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl
Requirement already satisfied: mod-wsgi==4.5.17+ap24vc14 from file:///C:/Users/Administrator/AppData/Local/Programs/Python/Python36/Scripts/mod_wsgi-4.5.17%2Bap24vc14-cp36-cp36m-win_amd64.whl in c:\users\administrator\appdata\local\programs\python\python36\lib\site-packages
PS C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts> mod_wsgi-express module-config
LoadFile "c:/users/administrator/appdata/local/programs/python/python36/python36.dll"
LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python36"
PS C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts>
从命令行窗口把黑色字体部分拷贝出来,放到apache httpd.config
的 最后一个 LoadModule 的位置。大概在180行左右。
紧接着,在后写入:
#wsgi文件的位置
WSGIScriptAlias / E:/Workspace/pyworkspace/mycms/mycms/wsgi.py
#项目位置
WSGIPythonPath E:/Workspace/pyworkspace/mycms
#设置脚本
<Directory E:/Workspace/pyworkspace/mycms/mycms>
<Files wsgi.py>
Require all granted
setHandler wsgi-script
</Files>
</Directory>
5.修改wsgi文件:
把以下代码放到wsgi文件的红色框内
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
至此,我们就结束了django 的部署。在我们的views中,有这样的返回:
此时启动apache,输入你实际的地址:
Windows下Python3.6.2+Django-1.11.5+httpd-2.4.27-win64-VC14部署网站的更多相关文章
- windows下python3.6 32bit 安装django
在Windows下python3.6安装Django1.11.3 1.首先下载地址:https://pypi.python.org/pypi/Django/1.11.3 pip install dja ...
- Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)探索
时间:2018年10月20日 笔者最近在做Qt方面的开发工作,需用到脚本程序对程序内部进行扩展,就很自然的想到了PythonQt,下面介绍PythonQt在Windows下的的安装编译心得,水平有限, ...
- Windows下python3登陆和操作linux服务器
一.环境准备 python3远程连接需要用到pycrytodome和paramiko库,其中后者依赖前者,所以按照顺序来安装 1. 安装pycrytodome 1 pip install pycryt ...
- windows下python3.6安装pycryto or crypto or pycryptodome与使用
pycrypto,pycrytodome和crypto是一个东西,在很久以前,crypto在python上面的名字是pycrypto它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库: w ...
- windows下python3 使用cx_Oracle,xlrd插件进行excel数据清洗录入
我们在做数据分析,清洗的过程中,很多时候会面对各种各样的数据源,要针对不同的数据源进行清洗,入库的工作.当然python这个语言,我比较喜欢,开发效率高,基本上怎么写都能运行,而且安装配置简单,基本上 ...
- Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)
后记: 由于自己low,没有下载罪行的python3.2导致编译上遇到种种问题,后文可以参考,建议看: <Windows7 VS2015 下编译 PythonQt3.2> https:// ...
- Windows下python3生成UTF8的CSV文件和sha256sum踩坑记录
CSV的坑 在Ubuntu下是简单的写入完事 import csv ... with open(filename, 'w') as output: f = csv.writer(output) f.w ...
- Windows下Python3+nose+appium自动化测试之Android篇
[本文出自天外归云的博客园] 简介 以下用来做自动化测试的这款app叫最爱抓娃娃,以后会改名为网易抓娃娃. 下文提到的appiumier项目里会包含用来测试的apk包以及自动化测试代码. 先说一个坑 ...
- Windows下Python3.7的安装
1.下载Python3官网地址:www.python.org当前最新版本为Python 3.7.3. Windows下有个6个下载链接Windows x86-64 embeddable zip fil ...
- 用windows下的Anaconda搭建Django虚拟环境
Django 是一个Python定制框架,可用于简便.快速的开发数据库驱动的web站点. 要使用Django,首先要建立一个虚拟工作环境. 那么,为什么要搭建虚拟环境呢?我们来看以下的开发场景: 假设 ...
随机推荐
- 学习Docker的记录
一.下载Docker for Windows 与 安装教程 参考文档一步一步的来学习 文档1 文档2 二.Docker的常用命令介绍 docker run -it --rm -p 80 ...
- 计算广告中的CPM和eCPM
计算广告中的CPM和eCPM CPM和eCPM分别是什么? CPM(Cost per Mille ) : 千次展示付费.是针对广告主说的,你要花多少钱,购买一千次广告展示的机会.类似的还有CPC (C ...
- 源码分析 Alibaba sentinel 滑动窗口实现原理(文末附原理图)
要实现限流.熔断等功能,首先要解决的问题是如何实时采集服务(资源)调用信息.例如将某一个接口设置的限流阔值 1W/tps,那首先如何判断当前的 TPS 是多少?Alibaba Sentinel 采用滑 ...
- 是时候了解Java Socket底层实现了
在Java中,提供了一系列Socket API,可以轻松建立两个主机之间的连接.读取数据,那底层到底怎么实现,很少人去关心.这其实最终还是通过调用操作系统提供得Socket接口完成(TCP/IP是由操 ...
- WTM 3.5发布,VUE来了!
千呼万唤中,WTM的Vue前后端分离版本终于和大家见面了,我曾经跟群里1000多位用户保证过Vue版本会在春天到来,吹过的牛逼总算是圆上了. WTM一如既往地追求最大程度提高生产效率,所以内置的代码生 ...
- 关于python如何安装和配置chromedriver以及一些相关问题
解决问题三部曲:观察,思考,尝试 1.如何配置chromedriver: https://www.cnblogs.com/lintest/p/11697059.html 常见异常解决的一个参考吧:ht ...
- 详解聚类算法Kmeans的两大优化——mini-batch和Kmeans++
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第13篇文章,我们来看下Kmeans算法的优化. 在上一篇文章当中我们一起学习了Kmeans这个聚类算法,在算法的最后我 ...
- Dapper操作MySQL数据库获取JSON数据中文乱码
前言 在项目中利用Dapper将JSON数据存储到MySQL数据库,结果发现JSON数据中的中文乱码,特此记录,希望对存储JSON的童鞋能有所帮助,文中若有错误之处,还望批评指正. Dapper获取J ...
- 脏牛提权CVE-2016-5195
gcc -pthread dirtyc0w.c -o dirtyc0w 尝试使用gcc -pthread dirtyc0w.c -o dirtyc0w 编译该POC文件 gcc命令是一个编译器套件,可 ...
- 从sslyze看TLS证书的点点滴滴
纵观眼下,https已经深入大街小巷,成为网络生活中不可或缺的一部分了.提到了https,我们又不得不想到TLS(SSL),而提到了TLS,我们又不得不提到一个让人捉摸不透的东西:TLS证书. 关于证 ...