-
漫谈企业级
Drupal
架构应用与部署
PDF
版本
在以
drupal
为框架的企业级或者
商业网站的开发与部署中,不仅仅只是对
drupal
的开发以
及自定义模块和
drupal
API
的开发和应用,在整个企业级应用中,
Drupal
只是作为
Web
框
架中的
一个环节,其他方面,如数据库架构、负载、持续集成等都是必须考虑的环节,本文就
D
rupal
商业级应用中必须的结构与部署方案做一个简单的探讨。
作为中小型商业网站,以
Drupal
< br>为框架开发是一个较好的选择,除了
Drupal
开发本
身,我
们还必须掌握
Drupal
相关
以及其他部署方面的环节,才能得以网站运营更加正常。
1.
服务器
起步阶段建议用
VPS
或者云主机,(
Linode
是不错的选择),正式上线之后,建议配置一台
服务器,随着流量增大可以增加
一台服务器,
web
和
db
分开。
访问量再次增加,我们可以增加到
3
台服务器。
3
台服务器的架构图
其中
DB
和
LoadBala
ncer
为同一台机器,故
DB
比较重
要,硬件资源以及备份策略要占优。
这种架构的优势就是
web
节点可以随意切换。
4
台服务器的结构就是增加一台
MySQL
的
slave
节点,以及将这个节点可以作为一个
Loadbalancer
的备份。
4
台服务器的
Drupal
部署结构
5
台及多台服
务器可以参考如下的结构,
就是把
LB
独立出来,
web
节点和
db
可以随意扩展,
具体需要分析性能的瓶颈在哪里,然后按需增加服务器。
5
台及以上多台服务器架构
2.
硬盘以及存储结构
服务器的数据存储非常重要,从硬件的角度来说,我们需要有备份及容错机制。
常见的方式是
RAID
,推荐使用
RAID5
,经济实惠的方案。如果有
4
块,可以做
RAID10
,性
能和备份的综合体,比
RAID5
更高效。从
软件硬件的实现角度来说,作为服务器,推荐使用
硬件
RAID
,不要使用软件
RAID
。
SSD
和
HDD
的选择,这个可以依据成本和预算,
SSD
肯
定比
HDD
要好很多。
硬盘的分区的划分推荐使用
LVM
,虽然会有些性能
上的损失,但从其带来的有点来说,这点
不足是可用忽略不计的。
具体的
RAID+LVM
规划,大
家可用参考网上其他相关文章,本文不做详细的介绍。
3.
负载均衡、反向代理
负载均衡节点,如果有多台服务器,建议做双机热备,如
LVS
、
keepalived
。
做负载均衡的软件选择比较多,如
Haproxy
,
Nginx, Varnish
等,推荐使用
Varnish
作为负
载均衡服务器,
不但因为其并发处理能力,而且还能对静态文件(甚至动态文件)进行缓存,
更好的减轻
web
节点的压力。
具体的
Varnish
相关文章请参考相关博文:
p>
?
?
?
p>
高负载网站之
Varnish
与
Drupal
–
基本篇
Varnish
构建高负载
Drupal
网站
–
高级篇
Varnish
前端代理
Drupal
的配置以及
< br>Jenkins
服务器
以<
/p>
Drupal
架构的网站通常比较消耗资源,因此建议
Web
服务器的
CPU
比
较好,加上
Memcache
的话,内存需要也比较大。
软件选择方面,
Web
服务可以用
Apache
或者
Ng
inx
,
这个差别没有太大,
即使
p>
Nginx
要比
Apache
性能好很多,但
Aapache
经过优化以及其稳定
的表现,个人觉得没必要一定使用
Nginx
。
多个
web
服务器需要共享
文件,共享文件可以使用
NFS
或者
G
lusterFS
。
最终需要部署的:
Apache/Nginx + PHP
(APC) + Memcache +
NFS/
GlusterFS
5.
数据库层
数据库服务器,当然是
MySQL
,
MySQL
的负载均衡自然离不开主从结构,这些都是经典的
配
置,网上的参考资料比较多。