|
|
51CTO旗下网站
|
|
移动端

浅谈Web服务器的构架:LAMP LNMP以及LLMP

随着许多VPS销售商有如Directspace 、 BuyVM、YardVPS放出廉价的VPSS,特别是PIPNI推出的免费VPS,许多站长的眼光开始注意到了VPS身上。虽然这些VPS的性能见仁见智,但是毕竟VPS使用的自由度要比虚拟空间要大很多很多,特别是单单购买独立IPv4价格都不菲,所以涌向VPS的人群也越来越多。

作者:佚名来源:网页设计轻松学|2018-03-20 11:13

随着许多VPS销售商有如Directspace 、 BuyVM、YardVPS放出廉价的VPSS,特别是PIPNI推出的免费VPS,许多站长的眼光开始注意到了VPS身上。虽然这些VPS的性能见仁见智,但是毕竟VPS使用的自由度要比虚拟空间要大很多很多,特别是单单购买独立IPv4价格都不菲,所以涌向VPS的人群也越来越多。但是自主性越大也意味着需要花心思的时间越多,新购买的VPS使用SSH连接上之后,经过一番测试与折腾,要作为一个网站服务器还必须进行配置。本文将简要的介绍几种Linux网站服务器的搭配方式,评析各种服务器在不同使用条件下的特点。

廉价的VPS都不约而同的会提供Linux的系统,并在控制面板上也会提供各种Linux系统的Reinstall,比说说经典的Redhat、Debian、Centos、Fedora 还有Ubuntu。选择什么系统的话,还是因人而异,很多玩Linux服务器的老手都会推荐Centos,因为相对比入手简单特别是国内有关的中文教材比较多,个人比较喜欢Debian,Debian占用资源很少,稳定性也不错,可惜国内有关的教程不多。。而至于源于Debian 的 Ubuntu,虽然在使用上比Debian方便多,但是也存在很多问题,桌面版本的系统使用起来相当的舒服,就是服务器系统的使用,个人不倾向Ubuntu。理论上64位的系统要比32位的要快,但是在廉价VPS母机的有限硬件条件下,其实差别甚微。

Linux下服务器的构建在当前网络上的使用,基本上可以基于以下几种: Apache 、 nginx 、lighttpd。

Apache毫无疑问是占了一半以上的份额,相比Apache使用数量的减少,Nginx与lighttpd的占有量都在缓慢上升。

由此本文将当前Linux下web服务器分为:LAMP 、 LNMP 以及 LLMP 三种构架。

LAMP(Linux + Apache + MySQL + PHP ) LAMP源于1998年,Michael Kunze为德国计算机杂志c’t写作的一篇关于自由软件如何成为商业软件替代品的文章时所创立,用来指代Linux 操作系统、Apache网络服务器、MySQL 数据库和PHP (Perl或Python)脚本语言的组合(由四种技术的开头字母组成)。这一术语很快就被市场接受,并且成为了开源软件业的一盏真正的明灯,现在依旧是大部分企业网站的基础构架。

次底层的Apache,是世界使用排名第一的Web服务器软件,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。有着多年的发展历史,Apache的扩展性丰富,稳定性非常好,同时却也存在着体积庞大、速度缓慢的缺点。

Apache

apache 的 rewrite 比 nginx 强大,在 rewrite 频繁的情况下,用 apache

apache 发展到现在,模块超多,基本想到的都可以找到

apache 更为成熟,少 bug ,nginx 的 bug 相对较多

apache 超稳定

apache 对 PHP 支持比较简单,nginx 需要配合其他后端用

apache 在处理动态请求有优势,nginx 在这方面是鸡肋,一般动态请求要 apache 去做,nginx 适合静态和反向。

apache 仍然是目前的主流,拥有丰富的特性,成熟的技术和开发社区

LNMP(Linux + Nginx + MySQL + PHP )

LNMP是近些年才逐渐发展起来的构架,发展非常迅速,服务器以其轻巧快速而得到许多站长的青睐。

次底层的Nginx是一个小巧而高效的Linux下高性能Web和反向代理服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,两年半的运行时间,相当的稳定。Nginx特点在于其相当的稳定、功能丰富、安装配置简单、低系统资源。

Nginx

  1. 轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源
  2. 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在 PHP 处理慢或者前端压力很大的情况下,很容易出现进程数飙升,从而拒绝服务的现象。
  3. nginx 处理静态文件好,静态处理性能比 apache 高三倍以上
  4. nginx 的设计高度模块化,编写模块相对简单
  5. nginx 配置简洁,正则配置让很多事情变得简单,而且改完配置能使用 -t 测试配置有没有问题,apache 配置复杂 ,重启的时候发现配置出错了,会很崩溃
  6. nginx 作为负载均衡服务器,支持 7 层负载均衡
  7. nginx 本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器
  8. 启动特别容易, 并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级
  9. 社区活跃,各种高性能模块出品迅速

LLMP(Linux + Lighttpd + MySQL + PHP )

相对来说LLMP构架使用人群没有LAMP与LLMP的人多,但是LLMP以其高速轻巧还是博得了不少站长的喜爱。

次底层的Litespeed属于商业软件,不过免费版的Litespeed功能也很强大,特别是处理静态文件能力非常的好。但是Litespeed软件并非开源,依靠一个团队的封闭开发,这一点就相对差很多了。

对比总结:

LAMP、LNMP、LLMP这三种构架就当前的网络来说,LAMP无疑是胜出的,基本占据了一半多的市场。

但是在面对服务器硬件资源不足、服务器的负载要求很高的情况下,LNMP是不错的选择,特别是个人博客或者小型网站,LNMP的配置相对简单,是可以满足要求的。或者在追求高性能服务器上,Nginx服务器确实值得考虑,至于LLMP构架的服务器,纵观网络,现在服务的支持性并不好,喜欢折腾学习的话可以选择。

附:现在网络上还有一种LNAMP构架,也就是综合了nginx和Apache的优点,使用Apache负载PHP,nginx负责解析其他Web请求,使用nginx的rewrite模块,但是Apache端口不对外开放,Apache的许多模块都可以不加载减少资源。这个方法不错,但是配置比较麻烦。虽然已经出现一键安装包了,但也只针对Centos系统。

【编辑推荐】

  1. 如何打破服务器芯片垄断
  2. 服务器开发系列--图形验证码到底是怎么回事?
  3. Linux高级技巧:服务器集群之keepalived
  4. Java-利用Nginx负载均衡实现Web服务器
  5. 谁在攻击你的服务器?
【责任编辑:武晓燕 TEL:(010)68476606】


点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

视频课程+更多

热门职位+更多

读 书 +更多

网络技术应试辅导(三级)

本书根据教育部考试中心2004年最新发布的《全国计算机等级考试大纲》编写,针对计算机等级考试三级网络技术各方面的考点进行讲解和训练。本...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊