码迷,mamicode.com
首页 > Web开发 > 详细

Django部署到Apache服务器

时间:2017-09-19 17:47:16      阅读:863      评论:0      收藏:0      [点我收藏+]

标签:family   重启   web服务器   def   如何   expr   pip3   pac   efi   

  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.解压缩到E盘,修改E:\Apache24\conf\httpd.conf 文件。

......
Define SRVROOT "E:/Apache24"   
ServerRoot "${SRVROOT}"
......

#Listen 12.34.56.78:80
Listen 8088
......

ServerName localhost:8088
......

 

2.打开E:\Apache24\bin\httpd.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:\Apache24\modules路径下,httpd.conf 中新增一段配置:
#添加mod_wsgi.so 模块  
LoadModule wsgi_module modules/mod_wsgi.so  

 

2.若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  替换步骤1中的新增内容:

#添加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。也可以用‘*‘表示,代表不受限制

 

 

最后,重启bin\httpd.exe,输入URL

技术分享

 

 

 

 
 
 欢迎转载,转载请注明出处:tmself的博客:http://www.cnblogs.com/shenh/p/7552722.html

 


 




Django部署到Apache服务器

标签:family   重启   web服务器   def   如何   expr   pip3   pac   efi   

原文地址:http://www.cnblogs.com/shenh/p/7552722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!