门户网站架构Nginx+Apache+MySQL+PHP+Memcached+Squid

服务器的大用户量的承载方案一、前言二、编译安装三、 安装MySQL、memcache四、 安装Apache、PHP、eAccelerator、php-memcache五、 安装Squid六、后记一、前言,准备工作当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。我们采用的架构图如下:引用——– ———- ————- ——— ————| 客户端 | ===> |负载均衡器| ===> |反向代理/缓存| ===> |WEB服务器| ===> |数据库服务器| ---->>阅读完整内容

又拍网架构-又一个用到python的网站

又拍网架构-又一个用到python的网站 又拍网是一个照片分享社区,从2005年6月至今积累了260万用户,1.1亿张照片,目前的日访问量为200多万。5年的发展历程里经历过许多起伏,也积累了一些经验,在这篇文章会介绍一些在技术上的积累。又拍网和大多数Web2.0站点一样,构建于大量开源软件之上,包括MySQL、PHP、nginx、Python、memcached、redis、Solr、Hadoop和RabbitMQ等等。又拍网的服务器端开发语言主要是PHP和Python,其中PHP用于编写Web逻辑(通过HTTP和用户直接打交道), 而Python则主要用于开发内部服务和后台任务。在客户端则使用了大量的Javascript, 这里要感谢一下MooTools这个JS框架,它使得我们很享受前端开发过程。 另外,我们把图片处理过程从PHP进程里独立出来变成一个服务。这个服务基于nginx,但是是作为nginx ---->>阅读完整内容

LAMP网站架构方案分析

LAMP网站架构方案分析 LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架, 该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是 国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软 的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN等之外,在软件架构上需要重点关注下面几个环节:使用高性能 的操作系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Databse)、高效率的编程语言 ---->>阅读完整内容

LLMP高性能网站架构设计方案

LLMP高性能网站架构设计方案 在网站架构设计中,大家一定对 LAMP (Linux Apache Mysql Php) 不陌生。LAMP确实是一个非常优秀的架构,秉承着自由,开放,高效,易用的设计理念。但是,本文不打算探讨LAMP,网上有很多介绍LAMP的资料。这里,想给大家介绍另一个在LAMP上衍生出来的,以提升性能为主要目的的开源网站架构。1、选择高性能 OS首先,不难理解,任何一个server最底层的支撑还是OS,而OS的选择,主要包括 Unix, Windows server, Linux, BSD等等。其中,开源的OS,有Linux, BSD及部分unix。从目前使用情况来看,linux还是网站首选OS之一。但是,Linux由于其自由的特点,也给选择产生了一些不便 – 发行版太多。现有的主流版本包括 red hat(RHEL), ubuntu, 红旗, opensuse, ---->>阅读完整内容

从集中到分布,解读网络视频IT架构变迁

从集中到分布,解读网络视频IT架构变迁 作者:朱智力 来源:IT1682006年以视频网站为代表的网络视频行业迅速崛起,IPTV、视频分享网站、视频搜索网站、提供视频服务的互动社区、交友、播客等等新兴媒体发展迅猛。网络视频行业现已成为众多资本机构关注与投资的焦点。但是在网络视频行业发展前景一片大好的同时,一些运营问题也随之显现,步入2007年,资本机构对网络视频行业不再盲目狂热,对商业模式的创新和成本控制提出了更高的要求。今天,纯文字的表现形式已经不能满足用户对更丰富多彩的网络内容的需求,我们需要更丰富的数字出版物、图片、声音以及视频来表达和交流;同时,单向传播也不能满足用户对互动式网络体验的需求,我们需要更丰富灵活的交流与互动体验;IT架构必须能够承载和传播这些爆发式增长的非结构化的数据。同时,用户访问量的增长却从没有停止过,相对于传统应用,网络视频行业应用有着非常庞大的用户数量上涨空间,IT设施面临 ---->>阅读完整内容

从集中到分布,解读网络视频IT架构变迁(下)

从集中到分布,解读网络视频IT架构变迁(下) 作者:朱智力 来源:IT168从集中到分布,化解存储瓶颈接上篇:从集中到分布,解读网络视频IT架构变迁(下)。集中式存储已经拥有了诸多优势,那么为何这家视频网站最终却选择了其他的存储架构呢?该视频网站究竟在运营过程中遭遇到了什么样的阻碍呢?经过我们对整个网站存储结构的分析,原来,NAS头成为整个存储环境的瓶颈……从以下两幅图中,我们可以看到传统的集中存储方案中,存在如下问题: I/O瓶颈 容量扩展性差 性能不可扩展 专业高端NAS成本高昂 单点故障 NAS成为系统瓶颈传统集中式存储的瓶颈随着数据量的增加,存储压力也变得越来越集中,NAS已不足以支撑现有的应用,无法更好的应对未来的挑战。既而,该网站从集中式的存储方式转向了采用分布式的存储方式。分布式存储系统架构图中,每台服务器上都提供文件共享服务,由应用层来实现媒体资源数据在各个服务器集群之间的迁移,从而比较好的解 ---->>阅读完整内容

新型的大型bbs架构(squid+nginx)

新型的大型bbs架构(squid+nginx) 这个架构基于squid、nginx和lvs等技术,从架构上对bbs进行全面优化和保护,有如下特点:1、高性能:所有的点击基本上全部由前端缓存负责,提供最快速的处理。2、高保障度:不需考虑应用程序稳定与否、程序语言是何种、数据库是何种,都能从架构上保证稳定。3、高可用性:对应用程序的修改达到最简化:在程序的某些地方加入清缓存的语句即可,当然还需要做页面静态化的工作和统计工作。这个架构的特点和一些流程的说明:1、主域名和图片域名分离域名分离可以使流量分离,缓存策略分离等等,好处诸多。bbs初期一定要做好规划,将图片用另外的域名独立服务,即使没有足够机器,域名也要先分开。另 外,图片服务器可以使用有别于主域名的另一个域名,一个好处是可以减少读取cookie对图片服务器的压力,另一个是提高安全性,避免cookie泄露。首先看图,这个图比较大:2、使用LVS作为前端、二级代 ---->>阅读完整内容

SqlServer自动备份策略设置

SqlServer自动备份策略设置 Sql Server自身就提供了完善的备份机制,我们只要灵活运用,就能达到令人满意的效果。先了解一下:为何要做备份?数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。传统的数据备份主要是采用内置或外置的磁带机进行冷备份。但是这种方式只能防止操作失误等人为故障,而且其恢复时间也很长。随着技术的不断发展,数据的海量增加,不少的企业开始采用网络备份。网络备份一般通过专业的数据存储管理软件结合相应的硬件和存储设备来实现。方法一:SqlServer自动作业备份1、打开SQL Server Management Studio2、启动SQL Server代理3、点击作业->新建作业4、”常规”中输入作业的名称5、新建步骤,类型选T-SQL,在下面的命令中输 ---->>阅读完整内容

大规模网站架构技术原理透析

跟朋友聊天的时候,发现很多人对大型网站系统架构非常感兴趣,我也很感兴趣,经常会在家里2台笔记本和1台服务器组成的局域网环境里作些实验。我进入IT行业的时间,大约是97,98年吧,那时候PC客户端软件最为盛行,做软件开发是一份很体面也很喜欢的工作。我从Win3.1上的VC1.5开始一直到VC6.0,然后转为.Net开发,基本上都是从事客户端软件开发。本人的性格是危机意识向来严重,所以深感互联网必将盛行,传统软件必将走向没落,于是转向了WEB开发。记得以前去某Portal网站应聘的时候,主考官就问我:你认为客户端开发和互联网开发有什么不同。我当时的回答是:互联网开发比客户端软件开发简单多了,我再也不用考虑那么多的用户环境因素了,一点部署,何时何地都可用。很多年过去了,我再想起当初我的回答,依然觉得那个回答是正确的。就产品开发层面来讲,互联网开发确实简单多了。这里首先澄 ---->>阅读完整内容

MySQL优化之数据类型的使用

有助于效率的类型选择1、使你的数据尽可能小最基本的优化之一是使你的数据(和索引)在磁盘上(并且在内存中)占据的空间尽可能小。这能给出巨大的改进,因为磁盘读入较快并且通常也用较少的主存储器。如果在更小的列上做索引,索引也占据较少的资源。你能用下面的技术使表的性能更好并且使存储空间最小:·尽可能地使用最有效(最小)的类型。MySQL有很多节省磁盘空间和内存的专业化类型。·如果可能使表更小,使用较小的整数类型。例如,MEDIUMINT经常比INT好一些。·如果可能,声明列为NOT NULL。它使任何事情更快而且你为每列节省一位。注意如果在你的应用程序中你确实需要NULL,你应该毫无疑问使用它,只是避免缺省地在所有列上有它。2、使用定长列,不使用可变长列这条准则对被经常修改,从而容易产生碎片的表来说特别重要。例如,应该选择 CHAR 列而不选择 VARCHAR 列。所要权 ---->>阅读完整内容