最近项目组正在上python+django。现在将部署过程总结下,相关文件也备份下,面得每次都要弄半天。网上很多不靠谱的做法,让我反复试错,浪费不少时间。

原材料:

Python3.6.2

httpd-2.4.27-win64-VC14

mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl

Django-1.11.5

说明:

由于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部署网站的更多相关文章

  1. windows下python3.6 32bit 安装django

    在Windows下python3.6安装Django1.11.3 1.首先下载地址:https://pypi.python.org/pypi/Django/1.11.3 pip install dja ...

  2. Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)探索

    时间:2018年10月20日 笔者最近在做Qt方面的开发工作,需用到脚本程序对程序内部进行扩展,就很自然的想到了PythonQt,下面介绍PythonQt在Windows下的的安装编译心得,水平有限, ...

  3. Windows下python3登陆和操作linux服务器

    一.环境准备 python3远程连接需要用到pycrytodome和paramiko库,其中后者依赖前者,所以按照顺序来安装 1. 安装pycrytodome 1 pip install pycryt ...

  4. windows下python3.6安装pycryto or crypto or pycryptodome与使用

    pycrypto,pycrytodome和crypto是一个东西,在很久以前,crypto在python上面的名字是pycrypto它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库: w ...

  5. windows下python3 使用cx_Oracle,xlrd插件进行excel数据清洗录入

    我们在做数据分析,清洗的过程中,很多时候会面对各种各样的数据源,要针对不同的数据源进行清洗,入库的工作.当然python这个语言,我比较喜欢,开发效率高,基本上怎么写都能运行,而且安装配置简单,基本上 ...

  6. Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)

    后记: 由于自己low,没有下载罪行的python3.2导致编译上遇到种种问题,后文可以参考,建议看: <Windows7 VS2015 下编译 PythonQt3.2> https:// ...

  7. Windows下python3生成UTF8的CSV文件和sha256sum踩坑记录

    CSV的坑 在Ubuntu下是简单的写入完事 import csv ... with open(filename, 'w') as output: f = csv.writer(output) f.w ...

  8. Windows下Python3+nose+appium自动化测试之Android篇

    [本文出自天外归云的博客园] 简介 以下用来做自动化测试的这款app叫最爱抓娃娃,以后会改名为网易抓娃娃. 下文提到的appiumier项目里会包含用来测试的apk包以及自动化测试代码. 先说一个坑 ...

  9. Windows下Python3.7的安装

    1.下载Python3官网地址:www.python.org当前最新版本为Python 3.7.3. Windows下有个6个下载链接Windows x86-64 embeddable zip fil ...

  10. 用windows下的Anaconda搭建Django虚拟环境

    Django 是一个Python定制框架,可用于简便.快速的开发数据库驱动的web站点. 要使用Django,首先要建立一个虚拟工作环境. 那么,为什么要搭建虚拟环境呢?我们来看以下的开发场景: 假设 ...

随机推荐

  1. python的元类编程

    廖雪峰的python教程有python元类编程示例,综合代码如下 https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df ...

  2. void指针和数组指针之间的转换

    由于void* 可以被任何指针赋值,所以以void*作为函数参数可以使得接口更容易接受不同类型的参数,不过需要注意的时,实际操作时还需要利用强制类型转换,将指针转换为原类型,否则在内存上会有问题. 一 ...

  3. JDBC工具类实现登陆验证-Java(新手)

    JDBC工具类: package cn.chuang.JdbcDome; import java.sql.*; public class JdbcUtilss { private static fin ...

  4. [Java网络安全系列面试题]常见web攻击有哪些?

    搞Web开发离不开安全这个话题,确保网站或者网页应用的安全性,是每个开发人员都应该了解的事.本篇主要简单介绍在Web领域几种常见的攻击手段及Java Web中的预防方式. 1. XSS 1.1 什么是 ...

  5. 大数据安装之Kafka(用于实时处理的消息队列)

    一.安装部署kafka 1.集群规划 hadoop102                                 hadoop103                          hado ...

  6. echar图柱状图和折线图混合加双侧y轴坐

    代码如下: floorSalesBar(){//方法名====这个方法应该放在methods中并在mounted中调用哦 methods let _this = this; let myChart = ...

  7. [ICRA 2019]Multi-Task Template Matching for Object Detection, Segmentation and Pose Estimation Using Depth Images

    简介         本文作者提出新的框架(MTTM),使用模板匹配来完成多个任务,从深度图的模板上找到目标物体,通过比较模板特征图与场景特征图来预测分割mask和模板与检测物体之间的位姿变换.作者提 ...

  8. Verbal Arithmetic Puzzle

    2020-01-02 12:09:09 问题描述: 问题求解: 这个问题不就是小学奥数题么?都知道要暴力枚举,但是如何巧妙的枚举才是问题的关键.在打比赛的时候,我用了全排列算法,TLE了. 借鉴了别人 ...

  9. 2020面试整理【java】

    spring面试题 1.你对spring的理解 Spring 是个Java企业级应用的开源开发框架. Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用. Sprin ...

  10. Reface.AppStarter 框架初探

    Reface.AppStarter 是一种基于 .NetFramework 的应用程序启动模式,使用该启动模式,你可以轻松的得到以下功能 : IOC / DI 自动注册与装配 简化配置 垂直模块化你的 ...