LAMP与LNMP

LNMP
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。 
Mysql是一个小型关系型数据库管理系统。 
Php是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。 
这四种软件均为免费软件,组合到一起,成为一个免费、高效的网站服务系统。
为什么采用LNMP这种架构
采用Linux、PHP、MySQL的优点我们不必多说。   
Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。   Nginx相当的稳定、功能丰富、安装配置简单、低系统资源……
Nginx的作用类似于apache是web服务器的一种 但对于反向代理和负载均衡有不错的支持 高并发的网站可以考虑使用
LNMP这种架构有什么优势
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。   
作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。   Ng
inx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。
雨水回用LNMP一键安装包
你可以自由在lnmp上下载并使用它在VPS(VDS)或独立服务器上,做为真正的生产环境或测试环境。
安装的软件:
  Nginx   MySQL   PHP   PHPMyAdmin   Zend Optimizer   eAccelerator   Nginx-RRD   vsFTPD
LAMP:
    Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,
共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码LAMP已经与J2EE.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMPsrcpan是最强大的网站解决方案.
起源
LAMP这个特定名词最早出现在1998年。当时,Michael Kunze为德国计算机杂志c't写作的一篇关于自由软件如何成为商业软件替代品的文章时,创建了LAMP这个名词,用来指代Linux 操作系统、Apache网络服务器、MySQL 数据库和PHP (Perl或Python)脚本语言的组合(由四种技术的开头字母组成)。由于IT世界众所周知的对缩写的爱好,Kunze提出的LAMP这一术语很快就被市场接受。O'Reilly和MySQL AB更是在英语人中推广普及了这个术语。随之LAMP技术成为了开源软件业的一盏真正的明灯。   目前,几乎在所有的Linux发布版中都默认包含了“LAMP stack”的产品。这些产品组成了一个强大的Web应用程序平台。“LAMP stack”中的每一个组件都是一个FOSS(免费或者开源软件/Free or Open Source Software)的实例。FOSS方法的好处有三个方面。第一,FOSS软件的性质意味着场馆座椅
应用程序可以免费下载,能够让更广泛的人们不用付费就可以使用这个应用软件。这种免费的方式对于广大用户特别具有吸引力。这些用户如果不使用免费的软件就需要付费购买“专业”的商用软件工具。这在制作网站方面通常是一种昂贵的步骤。FOSS许可证是开放式的,因此对于基于FOSS技术的应用软件的使用和限制都非常少。不需要为软件的发布支付任何许可证费就可以开发和应用基于LAMP的工程。因此,这对业余爱好者和专业人员都非常有吸引力。FOSS技术(包括LAMP)的增长和使用的主要原因是因为用户能够访问其资源,修复故障和改善应用软件的性能都非常容易。与开源软件许可证结合在一起,这种方法为许多企业简化了开发过程,并且为企业提供了专有软件或者商业软件的限制中所没有的灵活性。
平台组成
LAMP 平台由几个组件组成,呈分层结构。每一层都提供了整个软件栈的一个关键部分:   
Linux:Linux 处在最低层,提供操作系统。其他每个组件实际上也在其上运行。但是,并不一定局限于Linux,如有必要,其他操作系统也可以实现,例如:Windows、Mac OS X
或 UNIX。   
Apache:次低层是 Apache,它是一个 Web 服务器。Apache 提供可让用户获得 Web 页面的机制。Apache 是一款稳定的、支持关键任务的服务器,Internet 上超过 65% 的网站都使用它作为 Web 服务器。PHP 组件实际上是在 Apache 中,动态页面可以通过 Apache 和 PHP 创建。
MySQLMySQL 提供 LAMP 系统的数据存储端。有了 MySQL,便可以获得一个非常强大的、适合运行大型复杂站点的数据库。在 Web 应用程序中,所有数据、产品、帐户和其他类型的信息都存放在这个数据库中,通过 SQL 语言可以很容易地查询这些信息。      PHPPHP 是一门简单而有效的编程语言,它像是粘合剂,可以将 LAMP 系统所有其他的组件粘合在一起。您可以使用 PHP 编写能访问 MySQL 数据库中的数据和 Linux 提供的一些特性的动态内容。   
Perl:Perl 是一种脚本语言。这表示它并不编译成可执行程序,而是在运行时进行解释的一组指令(脚本)。 Perl 是代表“实际抽取和报告语言”(practical extraction and report language) 的字首组合词。Perl 被誉为语言中的“瑞士军刀”。它功能强大且非常灵活。语言
学家透视望远镜 Larry Wall 在廿世纪八十年代后期在 NASA 担任系统管理员时开发了 Perl。他创建 Perl 的目的是使构建报告的任务变得更简单。 Perl 现在用来执行许多任务。它也许是用于在 Web 上进行 CGI(分子动力学仿真公共网关接口)编程最流行的语言。其原因就是 Perl 是一种功能非常强大的文本处理器,而 Web 编程主要就是文本处理。另外,使用 Perl 通常比使用 C/C++、Java 或 Tcl 更简单,而且它比 Python 更早出现。Perl被称为是一种“胶水语言”。所谓胶水语言,也就是说它是可以用来将许多元素连接在一起的语言。   
Python:Python一种交互式面向对象的解释型编程语言。 Python使用非常清晰的语法实现非常强大的功能。它具有模块、类、意外处理以及非常高级别的动态数据类型和动态定义。并且,它具有接口和库函数供多种系统调用。内建模块还可以使用C或C++银行复点机语言方便地编写。对于用户界面的编程,Python同样能够胜任。 Python可以运行在Linux 、UNIXWindowsDOS、OS/2、Mac以及Amiga等等多种环境下。 Python虽然有版权,但完全可以免费使用和分发,甚至是为了商业用途。
安装
早期安装一个LAMP系统是比较复杂的,随着Linux的普及现在安装一个LAMP系统变得比
较简单另外许多Linux发行版本(Redhat 、Debian)安装时可以自动配置Apache、php、mysql等组件。
优化
硬件优化
  1、升级硬件的一般规则:对于 PHP 脚本而言,主要的瓶颈是 CPU ,对于静态页面而言,瓶颈是内存和网络。一台 400 Mhz 的普通奔腾机器所下载的静态页面就能让 T3 专线(45Mbps)饱和。   2、采用 hdparm 来优化磁盘,一般能提升 IDE 磁盘读写性能 200%,但是对 SCSI 硬盘也有效果。(不同类型的硬盘对比)
策略优化
  3、Apache 处理 PHP 脚本的速度要比静态页面慢 2-10 倍,因此尽量采用多的静态页面,少的脚本。   4、PHP 脚本如果不做缓冲,每次调用都需要编译,因此,安装一个 PHP 缓冲产品能提升 25-100% 的性能。   5、如果你采用了 Linux 系统,建议升级内核到 2.4,因为静态页面由内核服务。   6、另外一项缓冲技术是把不常修改的 PHP 页面采
HTML 缓冲输出。   7、不要在 Web 服务器上运行 X-Windows ,关掉没有必要运行的进程。   8、如果能够用文本就不要用图像,尽量减小图片的尺寸。   9、分散负载,把数据库服务器放到另外的机器上去。采用另外低端的机器服务图片和 HTML 页面,如果所有的静态页面在另外一台服务器上处理,可以设置 f 中的 KeepAlives 为 off ,来减少断开连接的时间。   10、以上所有的方法都是针对单机而言的,如果你觉得系统还是不够快,可以采用集,负载均衡,缓冲技术。采用 Squid 作为缓冲,配置 Squid 的方法。
编译优化
  11、把基于文件的会话切换到基于共享内存的会话。编译 PHP 时采用 --with-mm 选项,在 php.ini 中设置 set session.save_handler=mm 。这个简单的修改能让会话管理时间缩短一半。   12、采用最新版本的 Apache ,并把 PHP 编译其中,或者采用 DSO 模式,不要采用CGI方式。   13、编译 PHP 时,建议采用如下的参数:   --enable-inline-optimization --disable-debug
配置优化
  14、修改 f :   # 关闭 DNS lookups,PHP 脚本只拿 IP 地址   HostnameLookups off   15、如果网络拥挤,CPU 资源不够用,采用 PHP 的 HTML 压缩功能:   output_handler = ob_gzhandler   PHP 4.0.4 的用户请不要使用,因为存在内存泄漏问题。   16、修改 f 中的 SendBufferSize 为你最大的页面文件的大小。加大内核的 TCP/IP 写缓冲大小。   17、采用数据库的持久连接时,不要把 MaxRequestsPerChild 设置得太大。
第三方软件优化
  18、如果喜欢从修改 Apache 源码入手,可以安装 lingerd。在页面产生和发送后,每个 Apache 进程都会浪费一段时光在客户连接上,Lingerd 能接管这项工作,让 Apache 迅速服务下一个客户请求。   19、如果你足够勇敢的话,还可以采用 Silicon Graphics 的 Accelerated Apache 补丁。这个工程能使 Apache 1.3 快 10 倍,使 Apache 2.0 快 4 倍。   安装一个 PHP 缓冲产品能提升 25-100% 的性能。

本文发布于:2024-09-23 15:24:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/127667.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:使用   软件   服务器   网站   采用   页面
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议