Apache部署Django项目图文详解


Posted in Python onJuly 30, 2019

前言

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.解压缩,修改Apache24\conf\httpd.conf 文件中的apache路径和端口:

......
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页面代表成功。

Apache部署Django项目图文详解

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

若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

Apache部署Django项目图文详解

把三行内容复制到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。也可以用'*'表示,代表不受限制

重启bin\httpd.exe,输入URL

Apache部署Django项目图文详解

测试OK

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

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

Apache部署Django项目图文详解

运行apache:net start apache2.4

停止apache:net stop apache2.4

删除apache:sc delete Apache2.4

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python MD5文件生成码
Jan 12 Python
python基础教程之获取本机ip数据包示例
Feb 10 Python
Python实现简单过滤文本段的方法
May 24 Python
Python实现针对给定字符串寻找最长非重复子串的方法
Apr 21 Python
python+flask实现API的方法
Nov 21 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
Jun 21 Python
python中列表的含义及用法
May 26 Python
基于keras中的回调函数用法说明
Jun 17 Python
Scrapy 配置动态代理IP的实现
Sep 28 Python
Python截图并保存的具体实例
Jan 14 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 Python
Python 使用list和tuple+条件判断详解
Jul 30 #Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 #Python
Python实现二叉搜索树BST的方法示例
Jul 30 #Python
django 基于中间件实现限制ip频繁访问过程详解
Jul 30 #Python
python3安装crypto出错及解决方法
Jul 30 #Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 #Python
Python实现性能自动化测试竟然如此简单
Jul 30 #Python
You might like
如何删除多级目录
2006/10/09 PHP
用PHP和ACCESS写聊天室(六)
2006/10/09 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
input框中的name和id的区别
2016/11/16 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
JavaScript如何操作css
2020/10/24 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
Python类的继承和多态代码详解
2017/12/27 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
flask利用flask-wtf验证上传的文件的方法
2020/01/17 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
通过自学python能找到工作吗
2020/06/21 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
Gap英国官网:Gap UK
2018/07/18 全球购物
总务岗位职责
2013/11/19 职场文书
师范毕业生自我鉴定
2014/01/15 职场文书
自我鉴定写作要点
2014/01/17 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
国庆节演讲稿
2014/05/27 职场文书
员工离职感谢信
2015/01/22 职场文书
校运会广播稿
2015/08/19 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
《刷子李》教学反思
2016/02/20 职场文书
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis