2014-12-31 10:33| 发布者:
digitser|
查看: 5618| 评论:
0|原作者: liangsheng

摘要: LNMP 与 LAMP 架构的区别及配置解决方案 LNMP
的通用含义是:Linux 系统下 Nginx + MySQL + Perl/PHP/Python 这种动态网站服务器架构。 LNMP
中的 4 个软件均为免费开源软件。组合在一起,形成了一个免费、高效、扩 ...
LNMP
与 LAMP 架构的区别及配置解决方案

LNMP
的通用含义是:Linux 系统下 Nginx + MySQL + Perl/PHP/Python 这种动态网站服务器架构。




LNMP 中的 4
个软件均为免费开源软件。组合在一起,形成了一个免费、高效、扩展性强的
动态网站服务系统

1、
Linux 是类 Unix
计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo
等。

2、
Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

3、
Mysql 是一个小型关系型数据库管理系统。

4、
PHP 是一种在服务器端执行的嵌入 HTML 文档的脚本语言。

Python(英语发音:/ˈpaɪθən/)是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于
1989 年底发明,第一个公开发行版发行于 1991 年。Python
语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是
C/C++)很轻松地联结在一起。

Perl
最初的设计者为拉里·沃尔(Larry Wall),他于 1987 年 12 月 18 日发表。Perl 借用了
C、sed、awk、shell scripting
以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库 CPAN。

Nginx
特性

Nginx
是一款小巧且高效的 Linux下 Web 服务器软件。由 Igor Sysoev 为俄罗斯访问量第二的 Rambler
站点开发,已在一些俄罗斯大型网站上运行多年,相当稳定。第一公开版本 0.1.0 发布于 2004 年 10 月 4 日。2011 年
6 月 1 日,nginx 1.0.4 发布。

Nginx
性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。

1、相比
Apache,用 Nginx 作为 Web 服务器:使用资源更少,支持更多并发连接,效率更高。

2、作为负载均衡服务器:Nginx 既可在内部直接支持 Rails 和 PHP,也可支持作为 HTTP
代理服务器对外进行服务。Nginx 用 C 编写而成,不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。

3、作为邮件代理服务器:Nginx
同时也是一款非常优秀的邮件代理服务器(最早开发这个产品的目的之一,是作为邮件代理服务器)。

Nginx
的安装非常简单,配置文件也很简洁(还支持 perl 语法)。Nginx
支持平滑加载新配置,还能够在不间断服务的情况下进行软件版本升级。




LAMP 就是把 LNMP 中的 Nginx
换成
Apache。

LAMP
的通用含义是:Linux 系统下 Apache + MySQL + Perl/PHP/Python 这种动态网站服务器架构。

随着开源潮流的蓬勃发展,开放源代码的 LAMP 早已与 J2EE 和 .Net
商业软件形成三足鼎立之势。且该架构开发的项目在软件方面的投资成本极低,因此受到整个 IT 界的高度关注。从网站流量上说,70%
以上的访问流量都是 LAMP 提供的。所以说,LAMP 是最强大的动态网站解决方案。

Apache 特性

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

Apache 做为 Web Server 是负载 PHP 的最佳选择,如果流量很大的话,可以采用 Nginx 来负载非 PHP 的
Web 请求。Nginx 是一个高性能的 HTTP 和反向代理服务器,Nginx
以其稳定、丰富功能集、示例配置文件和低系统资源的消耗而闻名。Nginx 现能支持 PHP 和
FastCGI,也支持负载均衡和容错,可和 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
架构是一个不错的方案。当然,首推 LNMP 架构。

综上所述,基于 LAMP 架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是 Web
网络应用和环境的优秀组合。若是服务器配置比较低的个人网站,当然首选 LNMP 架构。

LNMP 与 LAMP 架构的区别及配置解决方案的更多相关文章

  1. LAMP与LNMP架构的区别及其具体的选择说明

    LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP 以上两只架构是目前网站的主流架构 LAMP和LNMP最主要的区别在于: 一个使用的是A ...

  2. lnmp架构下php安全配置分享

    目录[-] 1. 使用open_basedir限制虚拟主机跨目录访问 2. 禁用不安全PHP函数 3. 关注软件安全资讯 4. php用户只读 5. 关闭php错误日志 6. php上传分离 7. 关 ...

  3. LAMP架构部署和动态网站环境的配置

    实验环境: 操作系统:centos 7.5 服务器IP:192.168.10.5 运行用户:root 连接工具:xshell工具 web环境:Linux+apache+php+mariadb(LAMP ...

  4. 13.LAMP架构介绍及配置

    LAMP架构介绍及配置 LAMP简介与概述 LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境. LAMP是一 ...

  5. Apache web服务器(LAMP架构)(week3_day4)--技术流ken

    apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 3).URL 统一资源定位符 http:/ ...

  6. 末学者笔记--apache编译安装及LAMP架构上线

    apache介绍 一.Apache的三种工作模式 Apache一共有3种稳定的MPM模式(多进程处理模块),它们分别是prefork.worker.event.http-2.2版本的httpd默认的m ...

  7. Apache web服务器(LAMP架构)

    Apache web服务器(LAMP架构) apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 ...

  8. Apache web服务器(LAMP架构)

    1.apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 3).URL 统一资源定位符 http ...

  9. rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构

    rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构 2017年10月01日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~准备阶段~~~~~~~~~~~~~ ...

随机推荐

  1. JavaScript的DOM编程--12--innerHTML属性

    innerHTML属性: 1). 浏览器几乎都支持该属性, 但不是 DOM 标准的组成部分. innerHTML 属性可以用来读, 写某给定元素里的 HTML 内容 <html> < ...

  2. php消息队列之 think queue消息队列初体验

    使用thinkphp 5的  消息队列 think queue ● php think queue:listen --queue queuename ● php think queue:work -- ...

  3. umask的作用[转]

    umask的作用 umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主.同组用户.其他用户)存在一个相应的umask值中的数字.对于文件来说,这一数字的最 大值分别是6.系统不允许 ...

  4. Micropython实战之TPYBoardv102 DIY金属检测仪

    转载请以链接形式注明文章来源(MicroPythonQQ技术交流群:157816561,公众号:MicroPython玩家汇) 1.实验目的 1.学习在PC机系统中扩展简单I/O接口的方法. 2.进一 ...

  5. Java学习笔记10(面向对象三:接口)

    接口: 暂时可以理解为是一种特殊的抽象类 接口是功能的集合,可以看作是一种数据类型,是比抽象类更抽象的"类" 接口只描述所应该具备的方法,并没有具体实现,具体实现由接口的实现类(相 ...

  6. 数据对象转json与md5加密注意事项

    项目中遇到将OC数据对象类型转化字符类型,然后进行MD5加密的技术流程,在转化字符数组到字符加密过程中遇到一些问题. 问题 转化后的字符进行md5加密,出现与服务器加密结果不匹配的情况 分析 在对代码 ...

  7. python3之异常处理,断言和反射

    1.异常基础 python在运行过程中,程序解释机制会测试代码,如检测不通过则会抛出异常. try: aa = 10 bb = ' cc = aa + bb except Exception as e ...

  8. Windows内核中的内存管理

    内存管理的要点 内核内存是在虚拟地址空间的高2GB位置,且由所有进程所共享,进程进行切换时改变的只是进程的用户分区的内存 驱动程序就像一个特殊的DLL,这个DLL被加载到内核的地址空间中,Driver ...

  9. webpack构建本地服务器

    webpack构建本地服务器 想不想让你的浏览器监测你的代码的修改,并自动刷新修改后的结果,其实Webpack提供一个可选的本地开发服务器,这个本地服务器基于node.js构建, 可以实现你想要的这些 ...

  10. [转]python变量作用域的有趣差别

    func()里 可以访问全局变量i,但不能给i重新赋值. i = 1 def func(): print( i + 1) func() # 2 用global声明后,可以给i重新赋值. i = 1 d ...