Win7系统下如何本地部署Django使用Apache mod_wsgi模块?

2026-05-26 14:311阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1006个文字,预计阅读时间需要5分钟。

Win7系统下如何本地部署Django使用Apache mod_wsgi模块?

Django基础已掌握,同学生可尝试将项目发布。许多成功案例可激励自己深入学习Django。此前,你通常用python manage.py runserver启动服务,但不知:runserver是单线程。


django基础已经掌握的同学可以尝试将项目发布已寻找些许成就感,以鼓励自己接下来进行django的进阶学习

以前你总是使用python manage.py runserver进行服务启动,但是却不知:

  • runserver是单线程服务,Apache支持多线程,性能不再一个等级
  • runserver在debug模式下才能使用静态文件,而debug模式下运行会留存很多debug信息,时间长了内存爆炸
  • runserver挂了就GG,但是Apache很稳定,就算挂了,也只挂掉wsgi线程
  • runserver方便开发调试而产生,生产环境不可用
  • 废话不多说,上干货(前提:python环境ok,django项目ok,本地可运行)

    作者项目路径:F:/py_workspace/DJ/proj

    Apache路径:E:\httpd-2.4.33-win64-VC15\Apache24

    Win7系统下如何本地部署Django使用Apache mod_wsgi模块?

    一、环境

  • OS:win7
  • Python2.7:自己安装配置环境变量即可
  • Django1.8:详见“搞测试”公众号
  • Apache2.4:点击下载
  • mod_wsgi.so:点击下载
  • 二、Apache配置

  • 点击下载,选择适合自己的Apache版本(32位/64位)下载,下载完成得到httpd-2.4.33-win64-VC15.zip。
  • 解压后打开conf/httpd.conf配置文件,修改如下配置:
  • ServerRoot "E:\httpd-2.4.33-win64-VC15\Apache24"
    Listen 192.168.200.235:8090
    #ServerName 192.168.200.235:8090 #可以注释掉
    DocumentRoot "E:\httpd-2.4.33-win64-VC15\Apache24\htdocs" #Apache路径下htdocs文件夹路径,下同
    <Directory "E:\httpd-2.4.33-win64-VC15\Apache24\htdocs">
    ScriptAlias /cgi-bin/ "E:\httpd-2.4.33-win64-VC15\Apache24\cgi-bin/" #Apache路径下cgi-bin文件夹的路径,下同
    <Directory "E:\httpd-2.4.33-win64-VC15\Apache24\cgi-bin">
    AllowOverride None
    Options None
    Require all granted
    </Directory>


       在Apache的bin路径下运行:httpd.exe,出现Apache控制台,访问localhost:8090,出现It works 说明Apache服务启动成功。

       或者在httpd.exe所在路径下shift+邮件选择在此处打开命令窗口(CMD),键入:httpd.exe -k start 同样可以启动Apache服务。

       想要查看Apache服务,右击我的电脑,选择管理,查看服务即可。

    三、mod_wsgi配置

  • 点击下载,将下载成功的压缩包解压,选择适合自己版本的so文件。
  • 将so文件复制到Apache路径下的modules文件夹下即可。
  • 将so文件放到指定位置后再次进行httpd.conf的项目和wsgi配置(直接在httpd.conf后面追加即可)。
  • #add mod_wsgi
    LoadFile "c:/python27/python27.dll"
    LoadModule wsgi_module modules/mod_wsgi-py27-VC9.so
    WSGIPythonHome "c:/python27"

    WSGIScriptAlias / F:/py_workspace/DJ/proj/proj/wsgi.py

    WSGIPythonPath F:/py_workspace/DJ/proj/

    <Directory F:/py_workspace/DJ/proj/proj>
    <Files wsgi.py>
    Require all granted
    </Files>
    </Directory>


       配置完成后再次启动Apache服务,访问localhost:8090即可看到Django web项目的页面了。

    四、静态文件配置

       同样是在httpd.conf配置文件后面追加即可。

    1 #Alias /static F:/py_workspace/DJ/proj/static
    2 #<Directory F:/py_workspace/DJ/proj/static>
    3 # AllowOverride None
    4 # Options None
    5 # Require all granted
    6 #</Directory>
    7
    8 #Alias /media F:/py_workspace/DJ/proj/media
    9 #<Directory F:/py_workspace/DJ/proj/media>
    10 # AllowOverride None
    11 # Options None
    12 # Require all granted
    13 #</Directory>


    五、别忘了

      修改django的settings配置:

    DEBUG = FalseListen 192.168.200.235:8090ALLOWED_HOSTS = ['*']


      这样配置,局域网内的小伙伴就可以访问到你的Django Web项目了。

      PS:因为在之前的httpd.conf配置中,已经配置listen为本机ip了,所以这里还是192xxx,有时候为了调试方便我们还在前面的listen中会配置ip为127.0.0.1:8090供自己调测使用,而不让局域网内的人访问。

    六、Q&A

      Q:启动Apache的时候提示:无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题

      A:安装Microsoft.Net.Framework 4.6.1,点击下载;安装Visual C++ Redistributable for Visual Studio 2015,​​点击下载​​。

      ​​参考资料:​​第一​​,​​第二​​​​




    更多内容详见微信公众号:Python研究所



    本文共计1006个文字,预计阅读时间需要5分钟。

    Win7系统下如何本地部署Django使用Apache mod_wsgi模块?

    Django基础已掌握,同学生可尝试将项目发布。许多成功案例可激励自己深入学习Django。此前,你通常用python manage.py runserver启动服务,但不知:runserver是单线程。


    django基础已经掌握的同学可以尝试将项目发布已寻找些许成就感,以鼓励自己接下来进行django的进阶学习

    以前你总是使用python manage.py runserver进行服务启动,但是却不知:

  • runserver是单线程服务,Apache支持多线程,性能不再一个等级
  • runserver在debug模式下才能使用静态文件,而debug模式下运行会留存很多debug信息,时间长了内存爆炸
  • runserver挂了就GG,但是Apache很稳定,就算挂了,也只挂掉wsgi线程
  • runserver方便开发调试而产生,生产环境不可用
  • 废话不多说,上干货(前提:python环境ok,django项目ok,本地可运行)

    作者项目路径:F:/py_workspace/DJ/proj

    Apache路径:E:\httpd-2.4.33-win64-VC15\Apache24

    Win7系统下如何本地部署Django使用Apache mod_wsgi模块?

    一、环境

  • OS:win7
  • Python2.7:自己安装配置环境变量即可
  • Django1.8:详见“搞测试”公众号
  • Apache2.4:点击下载
  • mod_wsgi.so:点击下载
  • 二、Apache配置

  • 点击下载,选择适合自己的Apache版本(32位/64位)下载,下载完成得到httpd-2.4.33-win64-VC15.zip。
  • 解压后打开conf/httpd.conf配置文件,修改如下配置:
  • ServerRoot "E:\httpd-2.4.33-win64-VC15\Apache24"
    Listen 192.168.200.235:8090
    #ServerName 192.168.200.235:8090 #可以注释掉
    DocumentRoot "E:\httpd-2.4.33-win64-VC15\Apache24\htdocs" #Apache路径下htdocs文件夹路径,下同
    <Directory "E:\httpd-2.4.33-win64-VC15\Apache24\htdocs">
    ScriptAlias /cgi-bin/ "E:\httpd-2.4.33-win64-VC15\Apache24\cgi-bin/" #Apache路径下cgi-bin文件夹的路径,下同
    <Directory "E:\httpd-2.4.33-win64-VC15\Apache24\cgi-bin">
    AllowOverride None
    Options None
    Require all granted
    </Directory>


       在Apache的bin路径下运行:httpd.exe,出现Apache控制台,访问localhost:8090,出现It works 说明Apache服务启动成功。

       或者在httpd.exe所在路径下shift+邮件选择在此处打开命令窗口(CMD),键入:httpd.exe -k start 同样可以启动Apache服务。

       想要查看Apache服务,右击我的电脑,选择管理,查看服务即可。

    三、mod_wsgi配置

  • 点击下载,将下载成功的压缩包解压,选择适合自己版本的so文件。
  • 将so文件复制到Apache路径下的modules文件夹下即可。
  • 将so文件放到指定位置后再次进行httpd.conf的项目和wsgi配置(直接在httpd.conf后面追加即可)。
  • #add mod_wsgi
    LoadFile "c:/python27/python27.dll"
    LoadModule wsgi_module modules/mod_wsgi-py27-VC9.so
    WSGIPythonHome "c:/python27"

    WSGIScriptAlias / F:/py_workspace/DJ/proj/proj/wsgi.py

    WSGIPythonPath F:/py_workspace/DJ/proj/

    <Directory F:/py_workspace/DJ/proj/proj>
    <Files wsgi.py>
    Require all granted
    </Files>
    </Directory>


       配置完成后再次启动Apache服务,访问localhost:8090即可看到Django web项目的页面了。

    四、静态文件配置

       同样是在httpd.conf配置文件后面追加即可。

    1 #Alias /static F:/py_workspace/DJ/proj/static
    2 #<Directory F:/py_workspace/DJ/proj/static>
    3 # AllowOverride None
    4 # Options None
    5 # Require all granted
    6 #</Directory>
    7
    8 #Alias /media F:/py_workspace/DJ/proj/media
    9 #<Directory F:/py_workspace/DJ/proj/media>
    10 # AllowOverride None
    11 # Options None
    12 # Require all granted
    13 #</Directory>


    五、别忘了

      修改django的settings配置:

    DEBUG = FalseListen 192.168.200.235:8090ALLOWED_HOSTS = ['*']


      这样配置,局域网内的小伙伴就可以访问到你的Django Web项目了。

      PS:因为在之前的httpd.conf配置中,已经配置listen为本机ip了,所以这里还是192xxx,有时候为了调试方便我们还在前面的listen中会配置ip为127.0.0.1:8090供自己调测使用,而不让局域网内的人访问。

    六、Q&A

      Q:启动Apache的时候提示:无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题

      A:安装Microsoft.Net.Framework 4.6.1,点击下载;安装Visual C++ Redistributable for Visual Studio 2015,​​点击下载​​。

      ​​参考资料:​​第一​​,​​第二​​​​




    更多内容详见微信公众号:Python研究所