常见的网站服务器环境搭建方案分享

2018-09-2823:10:57 2 640 人看过
常见的网站服务器环境搭建方案分享

目前常见的服务器操作系统主要有三大类,一类是 Windows,其代表产品就是 Windows Server,主要应用于中小型企业;另一类是 Linux,常见的产品有 Cent OS。因为其具有较好的开放性和很高的性价比,因此在商业网站或各类中小型网站上有着广泛的应用;还有一类是 UNIX,代表产品就是保罗 HP-UX 和 IBM AIX,主要应用于金融证券等行业用户。

安装完服务器操作系统,就需要开始搭建 Web 服务器了,在 Windows 和 Linux 平台下架设 Web 服务器的软件非常多,其中最为知名的有:Windows 附带的 IIS、Apache、Nginx 等。

1、Windows 附带的 IIS

Microsoft Windows 的 Web 服务器产品是 Internet Information Server(IIS),它是 Windows 平台下流行的 Web 服务器产品之一,很多网站都是建立在 IIS 平台上。IIS 提供了一个图形的界面管理工具,成为 Internet 服务器管理器,可用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在 Internet 或局域网中发布网站成为一件很容易的事情。

2、Apache

Apache 是世界上最流行的 Web 服务器端之一。由于 Apache 是开源软件,所以不断有人为它开发新的功能和新的特性,并修改原来的缺陷。Apache 的特点是简单、速度快、性能稳定,并可做代理服务来使用。本来它只用于小型网络,后来逐步扩充到各种 UNIX 系统中,尤其对 Linux 的支持相当完善。

3、Nginx

Nginx 是一款高性能的 Web 服务器和反向代理服务器,最初由俄罗斯的程序设计师 lgor sysoev 所开发,供俄国大型的入口网站及搜索引擎 Rambler 使用。Nginx 的特点是相较于 Apache 具有占有内存少、稳定性高、并发能力强等优势,事实上 Nginx 的并发能力在同类型的网页服务器中表现较好,因此很多国内外的门户网站、行业网站都在使用 Nginx 作为 Web 服务器。

常常,架设网站服务器可以通过一些常见的服务器软件组合来完成,常见的动态网站服务器的“解决方案”主要由:LAMP(Linux+Apache+MySQL+PHP)、LNMP(Linux+Nginx+MySQL+PHP)、WAMP(Windows+Apache+MySQL+PHP)、BAMP(BSD+Apache+MySQL+PHP)、WIMP(Windows+IIS+MySQL+PHP)、WISA(Windows+IIS+SQLserver+ASP)等等。下面将对常见见到的“解决方案”逐一分析。

 

 

LAMP 网站架构方案

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 Linnx 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 等企业版,提供的升级服务均是收费升级,无法免费在线升级,因此要求免费的高度稳定性的 Web 服务器可以用 CentOS 替代 Red Hat Enterprise Linnx 使用。

 

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 的访问响应能力。Aquid 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+Access(例如月光博客)这样的网站,可以负载的访问量也非常大,国内的大量个人网站如果想要支撑大访问量,采用 LAMMP 架构是一个不错的方案。

综上所述,基于 LAMP 架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是 Web 网络应用和环境的优秀组合。

 

 

LNMP 网站架构方案

LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前国际流行的 Web 框架,该框架包括:Linux 操作系统、Nginx 网络服务器,MySQL 数据库,PHP 编程语言,所有组成产品均是免费开源软件,这四种软件组合到一起,成为一个免费、高效的网站服务系统。

Linux、MySQL、PHP 这些框架的优点之前已经介绍过,LNMP 和 LAMP 不同的一点 Web 服务器 Nginx,那么 Nginx 相比 Apache 有什么优点呢?

Nginx 是一个小巧而高效的 Linux 下的 Web 服务器软件,已在一些大型网站上运行多年,很多国内外的门户网站、行业网站也都在使用 Nginx,相当的稳定。

Nginx 的主要特点是稳定、功能丰富、安装配置简单、低系统资源。Nginx 对于反向服务代理和负载均衡有很不错的支持。Nginx 不仅仅可以作为 Web 服务器,还可以做负载均衡服务器、代理服务器和邮件服务器。

作为 Web 服务器来说,相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,Nginx 处理静态文件、索引文件,自动索引的效率非常高,体现更高的效率。

作为代理服务器,Nginx 可以实现无缓存的反向代理加速,提高网站的运行速度。

作为负载均衡服务器,Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持 HTTP 代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡;Nginx 用 C 编写,不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。

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

安装配置上,Nginx 安装简单、配置灵活、配置文件非常简洁(还能够支持 Perl 语法);性能方法,Nginx 是专门为性能优化而开发的,非常注重效率。它采用 Poll 模型,可以支持更多的并发连接,最大可以支持对 50000 个并发连接数的连接,而且只占用很低的内存资源;在可用性方面,Nginx 支持热部署,启动速度特别迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级,即时运行数月也无需重新启动,几乎可以做到 7*24 小时不间断运行。

可见,LNMP(linux-Nginx-MySQL-PHP)这四种软件的组合,可以成为一个免费、高效、扩展性强的网站服务系统。

WAMP 是指在 Windows 服务器使用 Apache、MySQL 和 PHP 的集成安装环境,可以快速安装配置 Web 服务器,一般来说,大家都习惯于将 Apache、MySQL、PHP 架设在 Linux 系统下,但是,不可否认的是 Windows 也有优点,就是易用,界面友好,软件丰富,操作起来非常方便,因此对新手来说在 Windows 平台下使用 Apache、MySQL、PHP 也确实是一个不错的选择。下面是几款在 Windows 下可以使用的 WAMP 集成环境。

XAMPP

XAMPP 是一款具有中文说明的功能全面的集成环境,XAMPP 并不仅仅针对 Windows,而是一个适用于 Linux、Windows、Mac OS X 和 Solaris 的易于安装的 Apache 发行版。软件包中包含 Apache 服务器、MySQL、PHP、Perl、FileZilla FTP Server、Tomcat 等等。默认安装开放了所有功能,安全性有问题,需要进行额外的安全设定。

WampServer

WampServer 集成了 Apache、MySQL、PHP、phpMyAdmin,支持 Apache 的 mod_rewrite,PHP 扩展、Apache 模块只需要在菜单“开启/关闭”上点点就搞定,省去了配置文件的麻烦。

AppServer

AppServer 集成了 Apache、PHP、MySQL、phpMyAdmin,较为轻量。

总的来说,无论从安全性,还是从性能上来说,LAMP(linux+Apache+MySQL+PHP),不过由于 Windows 具有易用的特点,WAMP 也未尝不是一个初学者的一个不错的选择。

来源:360 图书馆《常见的网站服务器环境搭建方案分享》

weinxin
博客小程序【一起行动派】
欢迎访问行动派博客小程序,小程序和博客同步更新,查看内容更加方便!
Action

发表评论

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

目前评论:2   其中:访客  1   博主  1

    • avatar boke112导航 4

      博主,你好,boke112导航特来拜会,已将贵站收录到博客导航的综合资讯类,谢谢支持!

        • avatar 简单梁 Admin

          @boke112导航 好的呢,谢谢你!祝boke112蒸蒸日上哇!