Apache部署Django项目图文详解
作者:三只松鼠 发布时间:2023-12-17 06:51:05
前言
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页面代表成功。
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
把三行内容复制到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
测试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
来源:https://www.cnblogs.com/shenh/p/7552722.html


猜你喜欢
- 本文实例讲述了Python简单实现子网掩码转换的方法。分享给大家供大家参考,具体如下:这里实现将子网掩码长度转换为具体的子网掩码地址:def
- 在开始编写应用之前,我们先从最基本的程序开始。就像你造房子之前不知道什么是地基一样,编写程序也不知道如何开始。因此,在本节中,我们要学习用最
- 本文实例讲述了Sanic框架应用部署方法。分享给大家供大家参考,具体如下:简介Sanic是一个类似Flask的Python 3.5+ Web
- 通过exec可以执行动态Python代码,类似Javascript的eval功能;而Python中的eval函数可以计算Python表达式,
- 应用场景:工作中经常遇到大量的数据需要整合、去重、按照特定格式导出等情况。如果用 Excel 操作,不仅费时费力,还不准确,有么有更高效的解
- 本来是只用Tenorflow的,但是因为TF有些Numpy特性并不支持,比如对数组使用列表进行切片,所以只能转战Pytorch了(pytor
- 1 新建类库MyTestDLL2 右击项目“MyTestDLL”-》属性-》生成-》勾选“为COM互操作注册”3 打开 AssemblyIn
- 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。GET方式提交的数据
- 在 HTML 中,有两种方式来表现文本框:一种是使用<input>元素的单行文本框,另一种是使用 <textarea>
- 项目介绍:Golang100行代码实现高并发聊天室,其中实现的功能有:上下线广播,私聊,用户改名,超时强踢,在线用户检测等在开始项目前,我们
- 本文实例讲述了PHP连接MySQL数据库的三种方式。分享给大家供大家参考,具体如下:PHP与MySQL的连接有三种API接口,分别是:PHP
- 需求:如下图所示实现sql语句SELECT A1,SUM(A2*A3) FROM A GROUP BY A1大家可以自行测试一下,主要需要了
- 通常,会话管理是通过服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中来唯一标识每个用户会话。如果浏览器
- 1.goroutine-看一个需求需求:要求统计1-900000000的数字中,那些是素数?分析:传统方法,就是使用一个循环,循环的判断各个
- for循环只是一个多一点的代码,同时循环添加到它。而所涉及的一个循环的共同任务是: 设置一些计数器变量的初始值。 请检查条件语句是正确的。
- 前言既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配。其实我们有专门的一个文件名匹配库就叫:glob
- 上次我重新修改了UBB的转换后,又很多朋友反映日文显示的时候出错了。我在本地测试了一下,结果出现了 Invalid procedure ca
- 1、前期准备通过 pip 或 easy_install 安装了 pymongo 之后, 就能通过 Python 调教 mongodb 了.接
- yaml 文件的应用场景与格式介绍yaml 文件的应用场景yaml其实也类似于 json、txt ,它们都属于一种文本格式。在我们的实际工作
- 今天小池提出一个问题讨论,如何使分页做的更友好。做了一些调研和思考,做了些总结。分页在电商网站3级页、搜索结果页面等信息量大的页面是很重要的