Webwwwhj8828com18088049999服務器的網站架構方案

目前常見的服務器操做系統主要有三大類,一類是Windows,其表明產品就是Windows Server,主要應用於中小型企業;另外一類是Linux,常見的產品有Cent OS,由於其具備較好的開放性和很高的性價比,所以在商業網站或各種中小型網站上有着普遍的應用;還有一類是UNIX,表明產品包括HP-UX和IBM AIX,主要應用於金融證券等行業用戶。php

安裝完服務器操做系統,就須要開始搭建Web服務器了,在Windows和Linux平臺下架設Web服務器的軟件很是多,其中最爲知名的有:Windows附帶的IIS、Apache、Nginx等。html

一、Windows附帶的IIS前端

Microsoft Windows的Web服務器產品是Internet Information Server(IIS),它是Windows平臺下流行的Web服務器產品之一,不少網站都是創建在IIS平臺上的。IIS提供了一個徒刑界面的管理工具,稱爲Internet服務管理器,可用於配置和控制Internet服務。在IIS中包括了Web服務器、FTP服務器、NNTP服務器和SMTP服務器等,分別用於網頁瀏覽、文件傳輸、新聞服務和郵件發送等方面,它使得在Internet或局域網中發佈網站成爲一件很容易的事情。nginx

二、Apache算法

Apache是世界上最流行的Web服務器端軟件之一。因爲Apache是開源軟件,因此不斷有人爲它開發新的功能和新的特性,並修改原來的缺陷。Apache的特色是簡單、速度快、性能穩定,並可作代理服務器來使用。原本它只用於小型網絡,後來逐步擴充到各類UNIX系統中,尤爲對Linux的支持至關完美。數據庫

三、Nginx編程

Nginx是一款高性能的Web服務器和反向代理服務器,起初由俄羅斯的程序設計師Igor 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 Linux 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等企業版,提供的升級服務均是收費升級,沒法免費在線升級,所以要求免費的高度穩定性的服務器能夠用CentOS替代Red Hat Enterprise Linux使用。

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的訪問響應能力。Squid Cache是一個Web緩存服務器,支持高效的緩存,能夠做爲網頁服務器的前置cache服務器緩存相關請求來提升Web服務器的速度,把Squid放在Apache的前端來緩存Web服務器生成的動態內容,而Web應用程序只須要適當地設置頁面實效時間便可。如訪問量巨大則可考慮使用memcache做爲分佈式緩存。

PHP的加速使用eAccelerator加速器,eAccelerator是一個自由開放源碼PHP加速器,優化和動態內容緩存,提升了性能PHP腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎徹底消除。它還有對腳本起優化做用,以加快其執行效率。使PHP程序代碼執效率能提升1-10倍。

具體的解決方案有如下幾種:

一、squid + Apache + PHP + eAccelerator

使用Apache負載PHP,使用squid進行緩存,html或圖片的請求能夠直接由squid返回給用戶。不少大型網站都採用這種架構。

二、nginx/Apache + PHP(fastcgi) + eAccelerator

使用nginx或Apache負載PHP,PHP使用fastcgi方式運行,效率較高。

三、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架構是一個不錯的方案。

綜上所述,基於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網站架構方案

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、SQLite、PHP、Perl、FileZilla FTP Server、Tomcat等等。默認安裝開放了全部功能,安全性有問題,須要進行額外的安全設定。

WampServer - WampServe集成了Apache、MySQL、PHP、phpmyadmin,支持Apache的mod_rewrite,PHP擴展、Apache模塊只須要在菜單「開啓/關閉」上點點就搞定,省去了修改配置文件的麻煩。

AppServ - 集成了Apache、PHP、MySQL、phpMyAdmin,較爲輕量。

總的來講,不管從安全性和性能上來說,LAMP(Linux + Apache + MySQL + PHP)都優於WAMP(Windows + Apache + MySQL + PHP),不過因爲Windows具備易用的特色,WAMP也何嘗不是初學者的一個不錯的選擇。

相關文章
相關標籤/搜索