windows 下 apache 部署 django python3.5

搞了3个小时。综合网上教程,各种坑,终于在win8上搞好了,记录一下:

首先下载软件:我用的是python3.5.2,MSC v.1900对应的是VC14.0 也就是2015编译器,所以:

  1. 从这里 www.apachelounge.com/download/ 下载对应版本的Apache2.4,一定要和你的python所对应的VC编译器版本对应,这里我安装的是httpd-2.4.17-win64-VC14.zip,解压完成后在你的电脑添加环境变量,path增加G:\Apache\Apache24\bin。
  2. 安装mod_wsgi:网址:www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi,安装和你的python版本对应的版本。这里我选用mod_wsgi-4.4.23+ap24vc14-cp35-cp35m-win_amd64.whl。cmd到你的下载目录,安装:pip3 install mod_wsgi-4.4.23+ap24vc14-cp35-cp35m-win_amd64.whl

下面开始配置:

  1. 打开Apache2.4目录下的http.conf,开始修改:
    #你的Apache解压路径
    ServerRoot "G:\Apache\Apache24"
    ……
    Listen 127.0.0.1:8000 #修改端口号
    ……
    ServerName www.example.com:80
    ……
    DocumentRoot "G:/Apache/Apache24/htdocs"
    <Directory "G:/Apache/Apache24/htdocs">
    ……
    ScriptAlias /cgi-bin/ "G:/Apache/Apache24/cgi-bin/"
    ……
    <Directory "G:/Apache/Apache24/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>

    此时启动cmd输入httpd,浏览器访问127.0.0.1:8000,返回It works! 则apache配置成功

  2. 此时在http.conf中添加wsgi,并引入你的项目,此时一定要注意,安装完成mod_wsgi后,并没有生成.so文件,因此我们需要手动配置!配置如下:参考http://blog.csdn.net/chao_8023/article/details/74012324。
    #添加mod_wsgi.so 模块
    LoadFile "c:/users/\济洲/appdata/local/programs/python/python35/python35.dll"
    LoadModule wsgi_module "c:/users/济洲/appdata/local/programs/python/python35/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win_amd64.pyd"
    WSGIPythonHome "c:/users/济洲/appdata/local/programs/python/python35"

     

  3. 配置你的项目:
  •  打开你的项目,在settings文件里面添加STATIC_ROOT = 'all_statics' (引号里是你定义的名字),并执行python manage.py collecstatic,这样你所有app中静态文件复制到all_statics文件中,才 可 以 在 apache中正常访问。接下来继续在http.conf添加:
  • #指定静态资源路径
    Alias /static/ G:/Anno/all_statics/
    <Directory G:/Anno/all_statics>
     Require all granted
    </Directory>
    #指定newsCollection项目的wsgi.py配置文件路径
    WSGIScriptAlias / G:/Anno/Anno/wsgi.py
    #指定项目路径
    WSGIPythonPath G:/Anno
    <Directory G:/Anno/Anno>
     <Files wsgi.py>
      Require all granted
     </Files>
    </Directory>

    开放你的端口,然后在cmd中重新启动httpd,有可能会报错!!!!注意大坑,我是win8系统,路径中含有中文,会引起编码问题,出现找不见pyhon35.dill路径的错误,此时要把httpd.conf文件改为utf8编码格式,重启httpd,完美解决。至此完成!

     

     

 

posted @ 2018-01-25 16:16  Wchigo  阅读(610)  评论(0编辑  收藏  举报