zoukankan      html  css  js  c++  java
  • Apache部署Django项目

      Django项目本身就可以启动运行,为什么还需要部署到Apache或者Nginx上呢?初学者都会遇到这个问题,我们来看看官方解释:It’s intended only for use while developing. (We’re in the business of making Web frameworks, not Web servers.),意思是django的业务是制作Web框架,而不是Web服务器。自带的web server只是方便开发,并不能直接放到生产环境,有兴趣的同学可以自己测试两者性能上的差距。 言归正传,我们这里主要讲述如何搭建Apache环境。

    安装Apache

    Apache(win 64)下载:https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC09

    1.解压缩,修改Apache24confhttpd.conf 文件中的apache路径和端口:

    ......
    Define SRVROOT "E:/Apache24"   
    ServerRoot "${SRVROOT}"
    ......
    
    #Listen 12.34.56.78:80
    Listen 8088
    ......
    
    ServerName localhost:8088
    ......

    2.打开E:Apache24inhttpd.exe,在浏览器输入http://127.0.0.1:8088/   出现welcome页面代表成功。

    mod_wsgi

    mod_wsgi 模块下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
     
     
     
    1.把whl文件改成zip,解压缩,把里面的mod_wsgi.so拷贝到E:Apache24modules路径下,httpd.conf 中新增一段配置:
    #添加mod_wsgi.so 模块  
    LoadModule wsgi_module modules/mod_wsgi.so  

    若mod_wsgi解压后找不到mod_wsgi.so文件(如有跳过此步骤)

    运行cmd,进入Scripts目录执行安装操作:

    pip3 install mod_wsgi-4.5.17+ap24vc10-cp34-cp34m-win_amd64.whl

    在Scripts目录执行:mod_wsgi-express module-config 

    把三行内容复制到httpd.conf:

    #添加mod_wsgi.so 模块  
    LoadFile "c:/python34/DLLs/python3.dll"
    LoadModule wsgi_module "c:/python34/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"
    WSGIPythonHome "c:/python34"

    配置Apache与Django

    1.打开Apache配置文件 httpd.conf,在末尾增加一段配置:

    #添加mod_wsgi.so 模块  
    LoadFile "c:/python34/DLLs/python3.dll"
    LoadModule wsgi_module "c:/python34/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"
    WSGIPythonHome "c:/python34"
      
    #指定myweb项目的wsgi.py配置文件路径  
    WSGIScriptAlias / D:/mysite/mysite/wsgi.py  
      
    #指定项目路径  
    WSGIPythonPath D:/mysite  
      
    <Directory D:/mysite/mysite>  
    <Files wsgi.py>  
        Require all granted  
    </Files>  
    </Directory>  
      
    Alias /static D:/mysite/static   
    <Directory D:/mysite/static>   
        AllowOverride None  
        Options None  
        Require all granted  
    </Directory>  
     2.打开django项目setting配置:
    DEBUG = False
    
    ALLOWED_HOSTS = ['127.0.0.1','localhost']  #允许访问的ip。也可以用'*'表示,代表不受限制

    重启binhttpd.exe,输入URL

     测试OK

    3.将Apache安装成windows server,就不需要每次打开httpd.exe出现一个小黑框了。

    bin目录下运行cmd命令httpd -k install -n “服务名” (不加参数,默认Apache2.4)

    运行apache:net start apache2.4

    停止apache:net stop apache2.4

    删除apache:sc delete Apache2.4

     
     


  • 相关阅读:
    Thrift官方安装手冊(译)
    从用python做zoj1011发生Non-zero Exit Code错误说起
    POJ 1637 Sightseeing tour(最大流)
    js中substr与substring的差别
    白话经典算法系列之七 堆与堆排序
    在基于阿里云serverCentOS6.5下安装Subversion 1.6.5服务
    Android研究之手PullToRefresh(ListView GridView 下拉刷新)使用具体解释
    java中获取系统属性以及环境变量
    sql中 in 、not in 、exists、not exists 使用方法和区别
    80x86汇编小站站长简单介绍-2014年08月23日
  • 原文地址:https://www.cnblogs.com/shenh/p/7552722.html
Copyright © 2011-2022 走看看