LAMP网站架构各模块配置的分析

news/2024/5/20 17:09:24/文章来源:https://blog.csdn.net/piperzero/article/details/84153093

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网站架构图

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.luyixian.cn/news_show_775547.aspx

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

相关文章

减少网站跳转时间,增强网站数据安全——HSTS 详解

近年来随着 Google、Apple、百度等公司不断推动 HTTPS 普及,全网 HTTPS 已是大势所趋。目前多数网站都已经支持 HTTPS 访问,但是在由 HTTP 转向 HTTPS 路程中,不少网站依然会面临很多问题。 通常用户准备访问某个网站时,不会在输入…

酷站设计:学习制作单页网站的10个优秀案例

这篇文章与大家分享10个学习制作单页网站的优秀案例。这些网站使用丰富多彩,令人惊叹的图像和干净的排版。从视差滚动和流畅的动画到固定和干净的菜单,你会发现单页网站的效果真的很酷,令人难忘!享受这些炫目的设计并获得到启发。…

html iframe 设置半透明_防止网站被iframe内框架调用的方法

今天有人反馈了一个在iframe内无法调用网站同一个站点的页面问题并报错,就在网站查了一些相关的资料,整理一下关于禁止网站所有页面或某一个页面被iframe内框架调用的方法。网站iframe内框架调用页面报错如下Refused to display http://xxxxxx.com in a …

mysql运维常见故障_无故障(停机)时间 - MySQL数据库运维的五大指标_数据库技术_Linux公社-Linux系统门户网站...

1.2.无故障(停机)时间运维和开发不一样,开发最重要的是保证一定效率的情况下实现功能,同时程序Bug少。运维讲的是提供稳定服务的时间。用术语来说就是几个9,具体含义就是年度不可服务(不管是主动的还是被动的)时间除以全年时间,百…

使用github构建自己网站

一、本地仓库 1.1、使用git创建版本库 选中源代码文件夹,右击调出菜单,选择创建版本库 建议不要勾选这个框制作纯版本库,直接点确定即可 最后源代码文件夹上出现一个绿色的对号,并且文件夹里面出现了一个.git的新文件夹则表示…

pc端的企业网站(IT修真院test9)详解一个响应式完成的pc端项目

一:引入bootstrap框架 昨天一直被bootstrap栅格系统折磨。 why? 我本来想一边码字,一边学习栅格布局的。but不成功。这时我头脑已经昏了。 下午,我查看了bootstrap的官网,带着我的问题:究竟怎么使用bootstrap的框架…

一个完整的学院网站实现过程

分享 项目介绍 ​ 本项目是东北大学计算机学院网站的一个非官方版本.涉及了前端/后端/数据库/备案/https/域名/服务器等内容 Build Setup # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minific…

[阅读笔记]仅用37行代码构造网站的全文检索

仅用37行代码构造网站的全文检索 英文标题:DotLucene: Full-Text Search for Your Intranet or Website using 37 Lines of Code 原文地址: http://www.codeproject.com/KB/aspnet/DotLuceneSearch.aspx 作者:Dan Letecky在线演示 示例下载(包含索引文件) <?xml:namespace …

30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)

去年八月时要做一个OA系统为了后台界面而烦恼&#xff0c;后来写了一篇博客&#xff08;《后台管理UI的选择》&#xff09;介绍了选择过程与常用后台UI&#xff0c;令我想不到的时竟然有许多开发者与我一样都为这个事情而花费不少时间&#xff0c;最后界面效果还是不佳&#xf…

网站维护必知:网站压力测试

【IT168 专稿】互联网的普及&#xff0c;宽带的流行&#xff0c;使得越来越多的个人和单位都架设了自己的网站。而充当网站的服务器的大多是普通的PC或者低档服务器&#xff0c;这样访问者人数一多或者遭受DDos攻击&#xff0c;很容易造成瘫痪。因此我们需要网站在真正发布前对…

网站验证码制作与调用

后台 一般处理程序生成验证码&#xff1a; 1 public void ProcessRequest(HttpContext context)2 {3 int codeW 80;4 int codeH 22;5 int fontSize 16;6 string chkCode string.Empty;7 //颜色列表&…

如何在ASP.NET中使用验证通过的Windows Live ID用户登录网站

前言 现在有很多在线服务的验证&#xff0c;我曾经就写过一篇 如何在ASP.NET中创建OpenID, 这里我再介绍如何使用Windows Live ID在ASP.NET应用程序中验证用户的身份&#xff0c;说穿了这也是一种特殊验证模型&#xff0c;也就是说当在您的网站中使用Windows Live ID登录时&…

主流网站视频下载

比如想下载 B站&#xff0c;优酷&#xff0c;腾讯视频&#xff0c;芒果&#xff0c;头条&#xff0c;搜狐 等视频网站的视频&#xff0c;我们只需要在URL 前加入这个&#xff1a; https://www.parsevideo.com/#比如这个 B站视频 &#xff1a; https://www.bilibili.com/video…

12个Icon图标资源网站

今天把自己收藏最好的12个Icon图标资源网站整理分享出来。1.除了Icon以外&#xff0c;还有很多不错的UI设计素材。 地址&#xff1a;http://worldui.com/2.除了免费Icon资源下载以外&#xff0c;还提供Icon定制的付费服务。地址&#xff1a;http://dryicons.com/3.很喜欢这个ic…

作为前端你拿什么证明网站体验?

前端重构程序员是一个关注代码同时还要留意体验的异类。代码的优化虽然难&#xff0c;但是有比较多的性能测试工具去证明优化的成果。然而体验这种东西&#xff0c;我们又要如何去证明它的好与坏呢&#xff1f; 一、视觉体验优化 页面加载数据请求图片渲染 二、数据证明体验…

初探SEO关键词竞争程度的智能算法思路

腾讯DeepOcean原创文章&#xff1a;http://dopro.io/seo-intelligent-algorithm.html 在seo优化过程中&#xff0c;关键词尤其重要。一个恰当的关键词往往可以给网站导入非常大的流量&#xff0c;提升网站的曝光量&#xff0c;带来更多目标用户&#xff0c;使网站产品更好的实…

花了两天时间做了一个 deno 的网站,编译了 deno 的 Windows 版本

网站地址: https://deno.js.cn 先上网站截图&#xff1a; 相信很多人都关注了 deno&#xff0c;毕竟是 nodejs 之父的大作。但是官方的编译指南也只是针对 Linux 和 Mac 环境的&#xff0c;如果你有一个可以科学上网的设备&#xff0c;那么只需要按照 readme 就可以顺利的编译…

我在日本最大的房地产信息网站做重构

日本互联网行业现状 去日本之前就对日本互联网产业的各种奇葩现状有所耳闻&#xff0c;自己过来之后更是亲身经历了很多。总的说来有以下几个方面&#xff1a; 总体技术一般&#xff1a; 日本计算机理论研究其实做的非常不错&#xff0c;但是工业运用方面却做的一般&#xff0…

vue-music 音乐网站

在学习完vueJS,一直想做个项目来锻炼一下,选来选去&#xff0c;还是做个网易云音乐&#xff0c;其间遇到了很多坑,也逐渐接受了vue这种组件化的思想以及从Dom操作转换为用数据去驱动视图。并且在某部分基础组件上借鉴(搬运)了elementUI的源码(不过elementUI写的是真好) 技术栈…

如何让你的网站支持 IE9 Pinned Site (Part 1 - 理论)

Windows 7 任务栏有何不同 自从 Windows 95 开始&#xff0c;任务栏就一直没什么变化&#xff0c;都是一个个长条表示正在运行的应用程序&#xff0c;直到 Windows 7 。 Windows 7 的任务栏发生了巨大的变化&#xff0c;这个变化其实就是更像 Mac OS X 的 Dock 了。无论是否在运…