被解放的姜戈07 马不停蹄

简介: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!    前面的文章研究了Django最主要的几个方面:数据库,模板,动态生成页面等。

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 

 

前面的文章研究了Django最主要的几个方面:数据库,模板,动态生成页面等。但都是使用python manage.py runserver来运行服务器。这是一个实验性的web服务器,不适用于正常的站点运行。我们需要一个可以稳定而持续的服务器。这个服务器负责监听http端口,将收到的请求交给Django处理,将Django的回复发还给客户端。

这样的持续性服务器可以有很多选择,比如apache, Nginx, lighttpd等。这里将使用最常见的apache服务器。服务器和Django之间通过Python的web服务接口WSGI连接,因此我们同样需要apache下的mod_wsgi模块。

下面的配置和说明,是在Ubuntu 13.10下进行的。在其它系统下将有所差别。

 

姜戈大喝一声,掉转马头狂奔。 

 

安装

首先需要安装apache2和mod_wsgi。在ubuntu下,我们可以使用apt-get安装:

sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi

 mod_wsgi也可以在google code下载,自行编译安装。

 

在apache的配置文件/etc/apache2/apache2.conf中增加下面的配置: 

# Django
WSGIScriptAlias / /home/vamei/mysite/mysite/wsgi.py
WSGIPythonPath /home/vamei/mysite

<Directory /home/vamei/mysite/mysite>
<Files wsgi.py>
  Order deny,allow
  Require all granted
</Files>
</Directory>

上面的配置中/home/ubuntu/mysite是Django项目所在的位置。而/home/ubuntu/mysite/mysite/wsgi.py是Django项目中z自动创建的文件。

可以看到,利用WSGIScriptAlias,我们实际上将URL /对应了wsgi接口程序。这样,当我们访问根URL时,访问请求会经由WSGI接口,传递给Django项目mysite。

 

配置好后,重启apache2

sudo /etc/init.d/apache2 restart

 

使用浏览器,可以检查效果:

 

想起逝去的德国人,姜戈心中一痛。

 

静态文件

Django的主要功能是动态的生成HTTP回复。很多媒体文件是静态存储的,如.js文件,.css文件和图片文件。这些文件变动的频率较小。我们希望静态的提供这些文件,而不是动态的生成。这样既可以减小服务器的负担,也便于在浏览器缓存,提高用户体验。

 

我们可以在apache2.conf中添加如下配置:

Alias /media/ /home/vamei/media/
Alias /static/ /home/vamei/static/

<Directory /home/vamei/static/>
Order deny,allow
Require all granted
</Directory>

<Directory /home/vamei/media/>
Order deny,allow
Require all granted
</Directory>

# Django
WSGIScriptAlias / /home/vamei/mysite/mysite/wsgi.py
WSGIPythonPath /home/vamei/mysite

<Directory /home/vamei/mysite/mysite/ >
<Files wsgi.py>
    Order deny,allow
    Require all granted
</Files>
</Directory>

这样,/static/和/media/这两个URL的访问将引导向存有静态文件的/home/vamei/static/和/home/vamei/media/,apache将直接向客户提供这两个文件夹中的静态文件。而剩下的URL访问,将导向WSGI接口,由Django动态处理。

 

在/home/vamei/static/中放入文件revenge.jpg,访问http://localhost/static/revenge:

 

姜戈想到爱人身陷囹圄,忧伤顿时化为愤怒。 

 

其它

云平台或者服务器的部署是一个大的课题,这里无法深入到所有的细节。幸运的是,在网上有丰富的资料。你可以根据自己的平台和问题,搜索相应的资料。

在Django的debug模式下,我们可以在app文件夹中建立static目录,放入静态文件。Django将自动搜索到其中的静态文件。但这一方法有很大的安全隐患,只适用于开发。

 

马蹄声疾,电光火石之间,姜戈已经把护园家丁撂倒在地。

 

总结

apache + mod_wsgi

静态文件

 

“你在外面等我,我要跟他们算总帐”,姜戈对爱人说。

 

目录
相关文章
|
5月前
|
运维 监控
运维自动化:解放双手,提升效率
【8月更文挑战第20天】在数字化时代,运维工作的重要性日益凸显。然而,传统的运维方式往往需要大量的人力投入,且容易出错。本文将探讨如何通过运维自动化来解放双手,提升工作效率。我们将从运维自动化的概念、优势、实施步骤以及注意事项等方面进行详细阐述。
|
16天前
|
存储 监控 数据可视化
必看!J 人电商团队圣诞冲刺,哪 6 款办公软件是工作学习效率的神器?
随着圣诞节临近,电商零售行业迎来购物狂欢。高效的团队协作和个人学习效率是关键。本文推荐6款可视化团队协作软件:板栗看板、Asana、Miro、monday.com、Wrike和Notion。这些工具能直观呈现工作流程,促进沟通与协作,提升工作效率。板栗看板任务清晰,Asana规划细致,Miro创意无限,monday.com自动化高效,Wrike资源管理精准,Notion一体化便捷。选择合适的工具,助力团队在圣诞季取得佳绩。
58 1
|
1月前
|
存储 数据可视化 搜索推荐
教育团队协作效率飙升,六款软件究竟在哪?
教育教培行业需高效管理学生作业以提升教学质量。为此,J人主导的教育团队可通过六款可视化团队协作办公软件优化作业管理流程:板栗看板、Notion、ClickUp、Airtable、Slack。这些软件分别在作业流程呈现、任务分配、资源整合、沟通协作及数据分析等方面展现出色,有助于构建条理化、个性化的作业管理体系,满足教育团队的高效管理需求。
46 3
|
29天前
|
数据可视化 数据挖掘 项目管理
从头到尾掌控项目,了解全流程协作的力量
在现代企业中,全流程协作理念通过从任务发起至结果交付的全生命周期透明化、标准化和高效化,打破部门、团队和工具间的壁垒,提高团队透明度,打破时空限制,降低跨部门沟通成本,赋能团队持续优化。
|
2月前
|
监控 数据可视化 搜索推荐
轻松搞定项目管理!用对在线项目管理工具助你生产力翻倍!
在线项目管理通过互联网平台和相关软件工具,打破时空限制,实现项目全过程的高效管理。本文介绍了五款在线项目管理工具:板栗看板、MeisterTask、Slack、Microsoft Project 和 ClickUp,分别适用于不同场景和需求,如直观可视化、沟通协作、大型复杂项目和高度自定义等。
|
2月前
|
存储 数据可视化 数据挖掘
高效电商运营的秘密:从繁琐中解放,专注创收
电商运营工作繁琐且重复,容易分散精力,影响创收效率。借助 Leangoo,可实现任务清晰化管理、时间节点精准把控和任务进展高效追踪。例如,通过看板管理“双11活动复盘”,覆盖数据汇总、问题分析和优化建议,确保任务清晰透明。Leangoo 帮助团队从琐碎中解放,专注创收与创新,是电商运营提效的得力工具。
|
7月前
|
运维 监控 安全
自动化运维:解放双手,提升效率
【6月更文挑战第19天】本文将深入探讨自动化运维的重要性和优势,以及如何实现自动化运维。我们将从自动化运维的定义开始,然后讨论它的优势,包括提高效率、减少错误、节省成本等。接下来,我们将详细介绍如何实现自动化运维,包括选择合适的工具和技术、设计自动化流程、测试和优化等步骤。最后,我们将通过一个实际案例来展示自动化运维的实施过程和效果。
|
运维 监控 Cloud Native
运维自动化:提高效率的秘诀
运维自动化:提高效率的秘诀
195 0
|
8月前
|
监控 供应链 安全
解放生产力:项目管理软件的神奇作用大揭秘!
项目管理软件是整合了项目管理理论的计算机系统,用于协助团队规划、执行和监控项目,提高效率、促进沟通、风险管理及监控进度。PMI、IPMA和Gartner对其有不同定义,强调其在协作、计划制定和沟通中的角色。软件提供统一平台,确保项目按时间表、预算和质量标准推进,通过自动化工作流、沟通模块和风险管理功能增强团队合作。选择软件时要考虑团队规模、行业需求、易用性和安全性。
60 0
|
负载均衡 算法 搜索推荐
一文论重复性工作中如何培养匠心
匠心来自于重复性工作,但重复性工作未必一定培养出匠心。
62459 20

热门文章

最新文章