zoukankan      html  css  js  c++  java
  • Windows下Python3.6.2+Django-1.11.5+httpd-2.4.27-win64-VC14部署网站

    最近项目组正在上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.这里,需要用命令行中运行。只要命令行窗口不退,表明运行成功。使用进行访问

    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:UsersAdministratorAppDataLocalProgramsPythonPython36Scripts> pip3 install C:UsersAdministratorAppDataLo

    calProgramsPythonPython36Scriptsmod_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:usersadministratorappdatalocalprogramspythonpython36libsite-packages

    PS C:UsersAdministratorAppDataLocalProgramsPythonPython36Scripts> 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:UsersAdministratorAppDataLocalProgramsPythonPython36Scripts>

    从命令行窗口把黑色字体部分拷贝出来,放到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,输入你实际的地址:

  • 相关阅读:
    CUBA 使用 Spring 查询接口
    Java中的数据验证
    CUBA China 最新进展
    遇见CUBA CLI
    CUBA-Platform将全面助力中国开发者
    ES6 延展操作符
    ES6 解构赋值
    Service Worker
    dom元素上添加断点(使用dom breakpoint找到修改属性的javascript代码)
    svg foreignObject的作用(文本换行,生成图片)
  • 原文地址:https://www.cnblogs.com/zijiyanxi/p/7599045.html
Copyright © 2011-2022 走看看