转载:LAMP网站架构方案分析

news/2024/5/9 23:21:15/文章来源:https://blog.csdn.net/weixin_30794851/article/details/95432269
LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框 架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软 件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点, 微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。

   对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN等之外,在软件架构上需要重点关注下面几个环节:使用高性能 的操作系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Databse)、高效率的编程语言等。下面我将从这几点对其一一讨论。

  操作系统

   Linux操作系统有很多个不同的发行版,如Red Hat Enterprise Linux、SUSE Linux Enterprice、Debian、Ubuntu、CentOS等,每一个发行版都有自己的特色,比如RHEL的稳定,Ubuntu的易用,基于稳定性 和性能的考虑,操作系统选择CentOS(Community ENTerprise Operating System)是一个理想的方案。

   CentOS(Community ENTerprise Operating System)是Linux发行版之一,是RHEL/Red Hat Enterprise Linux的精简免费版,和RHEL为同样的源代码,不过,RHEL和SUSE LE等企业版,提供的升级服务均是收费升级,无法免费在线升级,因此要求免费的高度稳定性的服务器可以用CentOS替代Red Hat Enterprise Linux使用。

LAMP网站架构方案分析

LAMP网站架构图

  Web服务器、缓存和PHP加速

   Apache是LAMP架构最核心的Web Server,开源、稳定、模块丰富是Apache的优势。但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web 服务器(例如nginx)高效,轻量级的Web服务器对于静态文件的响应能力来说远高于Apache服务器。

  Apache做为Web Server是负载PHP的最佳选择,如果流量很大的话,可以采用nginx来负载非PHP的Web请求。nginx是一个高性能的HTTP和反向代理服 务器,Nginx以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx不支持PHP和CGI等动态语言,但支持负载均衡和容 错,可和Apache配合使用,是轻量级的HTTP服务器的首选。

  Web服务器的缓存也有多种方案,Apache提供了自己的缓存模 块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。Squid Cache是一个Web缓存服务器,支持高效的缓存,可以作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,把Squid放在 Apache的前端来缓存Web服务器生成的动态内容,而Web应用程序只需要适当地设置页面实效时间即可。如访问量巨大则可考虑使用memcache作 为分布式缓存。

  PHP的加速使用eAccelerator加速器,eAccelerator是一个自由开放源码PHP加速器,优化和动 态内容缓存,提高了性能PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。它还有对脚本起优化作用,以加快其执行效率。 使PHP程序代码执效率能提高1-10倍。

  具体的解决方案有以下几种:

  1、squid + Apache + PHP + eAccelerator

  使用Apache负载PHP,使用squid进行缓存,html或图片的请求可以直接由 squid返回给用户。很多大型网站都采用这种架构。

  2、nginx/Apache + PHP(fastcgi) + eAccelerator

  使用nginx或Apache负载PHP,PHP使用fastcgi方式运行,效率较高。

   3、nginx + Apache + PHP + eAccelerator

  此方案综合了nginx和Apache的优点,使用 Apache负载PHP,nginx负责解析其他Web请求,使用nginx的rewrite模块,Apache端口不对外开放。

  数 据库

  开源的数据库中,MySQL在性能、稳定性和功能上是首选,可以达到百万级别的数据存储,网站初期可以将 MySQL和Web服务器放在一起,但是当访问量达到一定规模后,应该将MySQL数据库从Web Server上独立出来,在单独的服务器上运行,同时保持Web Server和MySQL服务器的稳定连接。

  当数据库访问量达到更大 的级别,可以考虑使用MySQL Cluster等数据库集群或者库表散列等解决方案。

  总的来说,LAMP架构的网站性能会远远优于 Windows IIS + ASP + Access(例如月光博客)这样的网站,可以负载的访问量也非常大,国内的大量个人网站如果想要支撑大访问量,采用LAMP架构是一个不错的方案。

   综上所述,基于LAMP架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是Web网络应用和环境的优秀组合。

 


原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/1908.html 

转载于:https://www.cnblogs.com/wuming/archive/2010/02/24/1672923.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_846577.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高并发网站的演变和优化

一,什么是高并发 高并发是互联网分布式系统架构设计中必须考虑的因素之一,通常指:通过设计保证能够同时并行处理很多请求。 高并发指标: 响应时间:系统对请求做出响应时间。例如系统处理一个HTTP请求需要200ms,这个200…

iis网站报错:您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序...

本人使用WIN2003 INTERNET信息服务(IIS)管理器建立一个网站虚拟目录,结果浏览网页时出现错误,错误提示信息大体如此: 该页无法显示 您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程…

值得收藏!最佳26个国外 CSS 酷站推荐网站

这个列表收集的最佳26个国外 CSS 酷站推荐网站对于网页设计师和 Web 开发人员都非常有用。设计师可以从下面列出的这些网站获取优秀的设计理念和流行的设计趋势,获取大量的创作灵感,进而设计出更有创意的作品。如果你有收藏这个列表中遗漏的网站&#xf…

网站统计中的数据收集原理及实现(转)

本文转自codinglabs,原文地址:http://www.codinglabs.org/html/how-web-analytics-data-collection-system-work.html 网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些…

数据获取网站分享

内容来自悟空智能科技公众号,侵权删。 1公开的数据库 - 国家数据 - http://data.stats.gov.cn/index.htm 数据来源于中国国家统计局,包含了我国经济民生等多个方面的数据,并且在月度、季度、年度都有覆盖&#xff0…

浅谈前端中的onmouseover 事件

修改别人的模板遇到一个问题,分类图的切换默认是五个,我想增加四个,一直没有增加成功。它使用的onmouseover 事件。 去查了一下: 定义和用法 onmouseover 事件会在鼠标指针移动到指定的对象上时发生。 语法 οnmοuseοver"…

Docker系列器十:docker-compose和网站的负载均衡

Docker应用中,为了达到高可用,可以做很多的web服务,保持服务的稳定性,在web的出口处是haproxy等负载应用。 命令: 在和yml文件的同文件下,执行任何的docker-pose的命令,否则是提示找不到文件的…

大型网站系统架构的演化

http://www.cnblogs.com/leefreeman/p/3993449.html 前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的&#xff0…

软件体系结构---优酷网站架构分析

1.web环境下架构特性 可扩展、可靠、简单核心、模块化 2.优酷网站分析 1)前端框架 模块分离、前端可扩展、分层UI分离 2)存储结构 在体系结构上,优酷网采用分布式的结构,服务器和存储设备分布在全国各地,用户就近访问,…

大型网站架构系列:分布式消息队列(一)

以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务(见第二篇:大型网…

JS基础17-网站效果

一、鼠标移入触发显示框和更改属性 要实现的效果 window.οnlοadfunction(){ //获取到div框里的li数组var oToplistdocument.getElementById(top-list);var oToplistlioToplist.getElementsByTagName(li);var oPulldocument.getElementById(pull-down);//鼠标移入时&#xff0…

Python_记一次网站数据定向爬取实现

记一次网站数据定向爬取实现 by:授客 QQ:1033553122 测试环境: Python版本:Python 3.4 Win7 请勿用于商业及非法用途,仅供学习研究用,否则后果自负 数据爬取场景 如下,打开网站查询页面,输入关…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

v2013调试无法访问此网站 localhost 拒绝了我们的连接请求

问题描述: 别人给的服务器代码,在本地部署以后调试的,localhost:8080 可以访问,localhost:2524访问不了需要改什么配置吗 解决思路: 这种只能在服务器上访问,可能端口号2524…

如何优化您的网站以提高速度

大家好! 今天,我们有一个来宾帖子,介绍有关如何加快网站速度的一些提示! 他目前正在一家电子商务网站上工作,他的任务之一是使网站快速加载。 因此,请在下面阅读! 〜迈克 网站速度已成为诸如Go…

如何优化程序提高运行速度_如何优化您的网站以提高速度

如何优化程序提高运行速度大家好! 今天,我们有一个来宾帖子,介绍有关如何加快网站速度的一些提示! 他目前正在一家电子商务网站上工作,他的任务之一是使网站快速加载。 因此,喜欢在下面阅读! 〜…

网站托管平台_托管Kubernetes平台综述

网站托管平台在容器协调器的竞争中,Kubernetes不断前进。 但是,就像我在Docker主机上撰写我的文章时一样,人们经常被困在将基础架构投入生产的步骤上。 与我最初写这篇文章时不同,该行业取得了长足的发展,正如您将看到…

PHP的网站主要攻击方式有哪些?

1、命令注入(Command Injection) 2、eval注入(Eval Injection) 3、客户端脚本攻击(Script Insertion) 4、跨网站脚本攻击(Cross Site Scripting, XSS) 5、SQL注入攻击(SQL injection) 6、跨网站请求伪造攻击(Cross Site Request Forgeries, CSRF) 7、Session 会话劫持(Session …

Xshell命令行学习,宝塔创建网站

参考链接 :https://blog.csdn.net/u014074697/article/details/86241642 宝塔创建面板-在安全组新添加一个端口 浏览器输入Bt-panel网址,登入用户名和密码即可进入

curl网站开发指南

整理curl命令: curl www.sina.com curl -o [文件名] www.sina.com curl -L www.sina.com curl -i www.sina.com curl -I www.sina.com curl -v www.sina.com curl --trace output.txt www.sina.com curl --trace-ascii output.txt www.sina.com php-curl这个库也不…