最近项目组正在上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. 【学习参考】Animate.css动画演示

    学习参考地址: http://www.dowebok.com/demo/2014/98/

  2. C# 时间戳(TimeStamp)与时间(DateTime)的互相转换

    什么是时间戳:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. 时间戳在线转换网址:https://tool.lu/ ...

  3. 洛谷1378 油滴扩展 dfs进行回溯搜索

    题目链接:https://www.luogu.com.cn/problem/P1378 题目中给出矩形的长宽和一些点,可以在每个点放油滴,油滴会扩展,直到触碰到矩形的周边或者其他油滴的边缘,求出剩余面 ...

  4. 洛谷 P5658 括号树 题解

    原题链接 简要题意: 求出以从每个节点到根形成的括号序列的合法对数. 算法一 观察到 \(n \leq 8\) ,所以我们可以用 纯粹的暴力 . 用 \(O(n)\) 时间得出当前节点到根的字符串. ...

  5. vue的使用经验

    导读 这一次的口号是,带你重新认识vue,拯救1,2个前端开发者. 从2018年从事前端职业以来,呆过大小公司,干这一行都有2年多.代码写的多了,就越来越体会新手程序员都是挖坑的.在工作过程中,用一种 ...

  6. [math] Codeforces 597A Divisibility

    题目:http://codeforces.com/problemset/problem/597/A Divisibility time limit per test 1 second memory l ...

  7. Ubuntu18.04下安装MySQL5.7(支持win10-wsl环境)

    注意: 本文操作环境为win10系统wsl下的Ubuntu18.04,对于原生的Ubuntu18.04同样适用.MySQL默认版本为5.7,其他版本不适用. 安装步骤 1.更新源: sudo apt ...

  8. PHP Curl进行Post时指定 multipart/form-data 或 application/x-www-form-urlencoded 的方法

    PHP Curl进行Post时指定 multipart/form-data 或 application/x-www-form-urlencoded 的方法 先看一段典型的CURL POST的代码: $ ...

  9. c++实现单纯形法现行规划问题的求解

    在本程序中默认该现行规划问题有最优解 针对此问题: #include<iostream> using namespace std; int check(float *sigema, int ...

  10. HDU 3303 Harmony Forever 前缀和+树状数组||线段树

    Problem Description We believe that every inhabitant of this universe eventually will find a way to ...