一文搞懂lamp、lnmp、lnamp一键安装包

  • 4
  • 111 views
  • A+
所属分类:VPS
      提到VPS上部署网络环境,在网络上可以搜到的一键安装包有lamp、lnmp、lnamp三种,作为新手朋友经常搞不懂有什么差异,今天3z学堂就为大家整理了一篇文章来简单介绍下。

什么是一键安装包

一键安装包有lamp、lnmp、和lnamp三种,到底该选用哪个呢?这个是分情况的,先看下三者的区别在哪里:

lamp 的全称是linux + apache + mysql +php

lnmp 的全称是linux + nginx + mysql + php

lnamp的全称是linux + nginx + apache + mysql + php

从全称中可以发现,其实这三个一键安装包主要区别就是用apache还是nginx,或者是要两者都用。

一键安装包如何选择呢?

一文搞懂lamp、lnmp、lnamp一键安装包

通常情况下如果服务器或VPS的内存不多,lnmp是最好的选择,因为nginx相对apache更节约内存,但似乎有时不太稳定,会比较常出现502错误(指错误网关,无效网关);静态网站的话,用lnmp还是不错的;如果网站动态内容多的话,lamp还是最稳定的,lnamp是现在比较流行的一个组合,也就是nginx做前端处理静态,apache做后台处理动态,这样比起lnmp的php-cgi相对是较稳定的,大家可以根据上面的分析结合自己情况选择一个。

什么是静态,动态?

这里的静态是指静态页面,如html,jpg,gif,css等。

动态是指php的页面或内容。

Nginx 特性

一文搞懂lamp、lnmp、lnamp一键安装包

Nginx是一款轻量级的web服务器/反向代理服务器/电子邮件代理服务器,安装非常简单,配置文件也很简洁(还支持 perl 语法),Nginx 支持平滑加载新配置,还能够在不间断服务的情况下进行软件版本升级。Nginx 性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。

  1. 相比 Apache,用 Nginx 作为 Web 服务器:使用资源更少,支持更多并发连接,效率更高。一台nginx最高支持50000并发链接,nginx 处理请求是异步非阻塞的,而apache 处理请求是阻塞型的。
  2. 作为负载均衡服务器:Nginx 既可在内部直接支持 Rails 和 PHP,也可支持作为 HTTP 代理服务器对外进行服务。Nginx 用 C 编写而成, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
  3. 作为邮件代理服务器:Nginx 同时也是一款非常优秀的邮件代理服务器(最早开发这个产品的目的之一,是作为邮件代理服务器)。
  4. 反向代理可以根据url将请求转向于不同用途的集群,比如图片请求,转向图片服务器集群;视频请求,转身视频服务器集群。

Apache 特性

一文搞懂lamp、lnmp、lnamp一键安装包

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

  1. Apache 做为 Web Server 是负载 PHP 的最佳选择,rewrite 比nginx 的rewrite 强大,模块超多基本想到的都可以找到,少bug超稳定,nginx 的bug相对较多,Apache在处理动态页面上优于nginx。
  2. 如果流量很大的话,可以采用 Nginx 来负载非 PHP 的 Web 请求。
  3. Web 服务器缓存也有多种方案,Apache 提供了自己的缓存模块,也可以使用外加的 Squid 模块进行缓存,这两种方式均可有效提高 Apache 的访问响应能力。Squid Cache 是一个 Web 缓存服务器,支持高效缓存,可作为网页服务器的前置 cache 服务器缓存相关请求以提高 Web 服务器速度。把 Squid 放在 Apache 的前端来缓存 Web 服务器生成动态内容,而 Web 应用程序只需要适当地设置页面实效时间即可。如访问量巨大,则可考虑使用 memcache 作为分布式缓存。
  4. PHP 的加速可使用 eAccelerator 加速器,eAccelerator 是一个自由开放源码的 PHP 加速器。它会优化动态内容缓存,提高 PHP 脚本缓存性能,使 PHP 脚本在编译状态下,对服务器的开销几乎完全消除。它还可对脚本起优化作用,以加快其执行效率。 使 PHP 程序代码执效率可提高 1-10 倍。


动态网站服务器架构解决方案

这里3z学堂给大家提供了三种常见的动态网站服务器架构解决方案

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 架构。

LNAMP

最后单独说一下LNAMP,一般如果是企业级应用的话,一般服务器配置较高,不存在内存不足的情况,对稳定性要求比较高,所以LNAMP的开发模式才是首选,因为目前大多的开发模式都是前后端分离,由前端页面调用后端API接口,所以用nginx处理静态页面,还有一个好处就是还可以用nginx做映射。那为什么还要用apache呢,这就要说到SEO优化上了,完全的前后端分离页面不利于SEO优化,所以部分的页面是需要写成伪静态页面,这也是处理SEO优化的一种策略,所以就需要用到Apache来处理这些页面。



读到这里,相信通过3z学堂的分享,大家已经对LAMP、LNMP、LNAMP这三个一键包有了更多了解了。简单地说基于 LAMP 架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是 Web 网络应用和环境的优秀组合。若是服务器配置比较低的个人网站,当然首选 LNMP 架构,企业级应用推荐LNAMP。其实这三个一键包选择关键还得看实际生产环境应用及用的人,希望今天的分享能帮助到一些朋友,也欢迎大家留言进行交流。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  4   博主  0

    • 新闻 新闻 0

      文章不错非常喜欢

        • 勇之助 勇之助 4

          @新闻 感谢支持!欢迎常来指导~

        • 哈哈 哈哈 2

          向全栈优秀开发者致敬

          • 乱翻书 乱翻书 3

            不错,收藏学习一下