27、Django部署与非HTML内容生成全攻略

Django部署与非HTML内容生成全攻略

1. Django部署策略

当预计需要扩展到单个数据库服务器以上时,就应开始考虑连接池和/或数据库复制。不过,这方面的详细信息可从数据库的文档和社区获取。

1.1 运行独立的媒体服务器

单服务器设置存在一个大问题,即动态内容与媒体服务在同一台服务器上。这两种活动在不同情况下性能最佳,将它们放在一起会导致两者性能都不佳。因此,下一步是将媒体(即非Django视图生成的内容)分离到专用服务器上。理想情况下,该媒体服务器应运行针对静态媒体交付优化的精简Web服务器,如Nginx、lighttpd或精简版的Apache。对于静态内容较多的网站,使用独立的媒体服务器尤为重要,可能是扩展的第一步。

若应用涉及文件上传,Django需要能够将上传的媒体写入媒体服务器。若媒体位于另一台服务器上,则需安排一种跨网络写入的方式。

1.2 实现负载均衡和冗余

目前的三服务器设置可处理大量流量,但为了进一步扩展,需要增加冗余。增加冗余服务器不仅能提高容量,还能增强可靠性。假设Web服务器首先达到容量限制,可在不同硬件上运行多个Django站点副本,只需将所有代码复制到多台机器上并启动Apache。不过,还需要一个负载均衡器来在多个服务器之间分配流量。

可以购买昂贵的专有硬件负载均衡器,也有一些高质量的开源软件负载均衡器,如Apache的mod_proxy,而Perlbal也是一个不错的选择。

graph LR
    A[客户端请求] --> B[负载均衡器]
    B -->
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值