基于LAMP的高性能Web服務器的架構(gòu)
2010年12月電腦學習第6期基于LAMP 的高性能Web 服務器的架構(gòu)桑一梅觹摘要:文章提出了基于LAMP 的高性能Web 服務器的架構(gòu)方案,采用了Apache 日志、Webalizer 日志分析、
2010年12月
電腦學習
第6期
基于LAMP 的高性能Web 服務器的架構(gòu)
桑一梅觹
摘
要:文章提出了基于LAMP 的高性能Web 服務器的架構(gòu)方案,采用了Apache 日志、Webalizer 日志分析、Cacti 流量監(jiān)控、
入侵檢測的方法,架構(gòu)了一個完善的、穩(wěn)定的、安全的、低廉的高性能Web 服務器,滿足了中小型企業(yè)的要求。
關鍵詞:LAMP ;Web 服務器;Apache 日志;流量控制;入侵檢測和防御;系統(tǒng)調(diào)優(yōu)
文獻標識碼:B 文章編號:1002-2422(2010)06-0044-03中圖分類號:TP393.05
Framework of High Performance Web Server Based on LAMP
Sang Yimei
Abstract :The paper proposed a method of constructing a high-performanceWeb server based on LAMP, using the Apache l-ogs, Webalizer log analysis, Cacti traffic monitoring, intrusion detection.It also constructed a sound, stable, safe, in-expensive, high-performanceWeb server, which meets the requirements of small and medium enterprises.
Key words:LAMP; Web Server; Apache Logs; Traffic Monitor; Intrusion Detection and Prevention; System Tuning
1LAMP 的組成
1.1高性能的操作系統(tǒng)Linux
Linux 是一個符合POSIX (Portable Operating System Interface of Unix ,可移植操作系統(tǒng)接口)標準的操作系統(tǒng)。Linux 操作系統(tǒng)軟件包不僅包括完整的Linux 操作系統(tǒng),而且還包括了文本編輯器、高級語言編譯器等應用軟件。同時還包括帶有多個窗口管理器的X-Windows圖形用戶界面,允許用戶象使用Windows 一樣使用窗口、圖標和菜單對系統(tǒng)進行操作。
1.2高性能的網(wǎng)頁服務器Apache
Apache 源于NCSAhttpd 服務器,經(jīng)過多次修改,成為世有界上應用最廣泛的Web 服務器。其優(yōu)點是源代碼開放、一支開放的開發(fā)隊伍、支持跨平臺的應用以及可移植性等。1.3高性能的數(shù)據(jù)庫MySQL
MySQL 是一個關系型數(shù)據(jù)庫管理系統(tǒng),雖然MySQL 規(guī)模小、功能有限。但是MySQL 體積小、速度快、開放源代碼、可移植性強、支持多種操作系統(tǒng)、為多種編程語言提供API 、支持多線程、具有優(yōu)化的SQL 查詢算法。既能單獨應用也能嵌入到其他的軟件中,對于一般的個人用戶和中小型企業(yè)來說,MySQL 提供的功能完全能夠滿足應用需求。1.4高效率的編程語言PHP
PHP (Hypertext Preprocessor ,超級文本預處理語言)是一種在服務器端執(zhí)行的腳本語言,可以嵌入到HTML 文檔中。PHP 獨特的語法混合了C 、Java 、Perl 以及PHP 自創(chuàng)新的語法。
處理,而相關的動態(tài)頁面請求將被Apache 服務器交由相應的動態(tài)語言模塊處理,比如PHP 、Perl 或者Python 。如果動態(tài)頁面中涉及到數(shù)據(jù)庫查詢,相應的數(shù)據(jù)查詢會被轉(zhuǎn)交給MySQL 數(shù)據(jù)庫服務器。
Static
Content
HTTP Connections
Apache
Dynamic Content mod PHP Linux
MySQL
圖1LAMP 架構(gòu)示意圖
3LAMP 的發(fā)展與演化
隨著LAMP 的不斷發(fā)展和流行,結(jié)合不同的操作系統(tǒng)、
Web 應用服務器、數(shù)據(jù)庫服務器及開發(fā)語言,AMP(Apache、MySQL 、PHP/Perl/Python)演化出越來越多的組合,例如:
XAMPP (XAMPP 是一個易于安裝且包含MySQL 、PHP 和Perl 的Apache 發(fā)行版)。
WAMP (以Microsoft Windows 替代Linux )。BAMP (以BSD 替代Linux )。
WIMP (指以Microsoft Windows 替代Linux, 用Micro-soft IIS 替代Apache )。
LAMJ (以JSP/servlet作為開發(fā)語言)。LAPP (以PostgreSQL 替代MySQL )。
4Web 服務器搭建
4.1Linux 主機配置
(1)使用vi /etc/sysconfig/network-scripts/ifcfg-eth0命令進行網(wǎng)卡的配置。
(2)使用/etc/init.d/networkrestart 或service network r-estart 命令重啟網(wǎng)卡。
(3)使用vi /etc/sysconfig/iptables命令對iptables 進行配置,以對相應網(wǎng)段開放相應的端口。
2LAMP 平臺架構(gòu)
LAMP 平臺是關注于Web 應用程序的,因此LAMP 架構(gòu)十分簡單如圖1所示。
所有的HTTP 連接請求將被Linux 操作系統(tǒng)轉(zhuǎn)發(fā)給A-pache 處理,其中靜態(tài)內(nèi)容的請求將直接被Apache 服務器
收稿日期:2010-10-20
(江蘇,蘇州215000)。觹桑一梅蘇州經(jīng)貿(mào)職業(yè)技術學院講師
·44·
,(4)使用service iptables restart 命令重啟iptables 。(5)使用vi /etc/hosts命令修改hosts 文件,以指定IP 地址和域名的對應關系,提高解析速度。
(6)為Web 用戶建立專門的用戶和組。4.2xampp 的安裝和配置4.2.1安裝xampp
(1)從Apache Friends Web 站點上下載xampp 的最新版本到蛐root根目錄下。
(2)進入Linux shell 并以系統(tǒng)管理員身份登錄。(3)使用tar xvfz xampp-linux-1.4.7.tar.gz-C/opt命令將其解壓到/opt目錄中,這樣XAMPP 就被安裝到/opt/lampp 目錄中了,使用瀏覽器訪問http://localhost,瀏覽器顯示XAMPP 的welcome 頁面即表示安裝成功。
(4)使用/opt/lampp/lamppstart 命令啟動xampp 。(5)使用/opt/ampp/lamppsecurity 命令修改XAMPP p-MySQL/phpMyAdminuser pma passwort 、My-ages passwort 、
SQL root passwort 、FTP user 'nobody'password 四個密碼。
(6)在/etc/rc.d/rc.local添加/opt/lampp/lamppstartapach-e 、/opt/lampp/lampp
startmysql 、蛐pt/lampp/lampp
startftp ,將
xampp 加入到開機啟動。
(7)在/opt/lampp/htdocs/下新建一個www 目錄,并使用chown -Rhostuser:hostuser/opt/lampp/htdocs/www/命令,將該目錄的用戶和屬組都設為hostuser 。4.2.2Apache 配置
(1)編輯/opt/lampp/etc/httpd.conf文件,盡量只保留必只保留常用的index 要的模塊;確保Apache 以nobody 運行;頁面名稱。
(2)編輯/opt/lampp/etc/extra/httpd-default.conf文件,關閉服務器簽名。
(3)編輯/opt/lampp/etc/extra/httpd-xampp.conf文件,注銷Perl 模塊和phpsqliteadmin 。
(4)編輯/opt/lampp/etc/extra/httpd-languages.conf文件,設置字符集。
(5)編輯/opt/lampp/etc/extra/httpd-vhosts.conf文件,配置虛擬主機。
(6)編輯/opt/lampp/etc/extra/httpd-ssl.conf文件,修改日志記錄的位置。
(7)編輯/opt/lampp/etc/extra/httpd-mpm.conf文件,進行Apache 的性能調(diào)優(yōu)。4.2.3PHP 配置
編輯/opt/lampp/etc/php.ini文件:
(1)關閉display_errors和register_globals。
(2)酌情修改頁面執(zhí)行時間、頁面消耗內(nèi)存、用戶提交的數(shù)據(jù)大小和上傳文件的大小。
(3)關閉除zip.so和memcache.so外的所有模塊。4.2.4Proftpd 配置
編輯/opt/lampp/etc/proftpd.conf文件:
(1)確保Proftpd 以nobody 運行。
(2)適當修改最大子進程數(shù)、允許鏈接的用戶數(shù)、每個用戶允許的連接數(shù)和登錄次數(shù)。
(3)如果開放虛擬主機給其它用戶使用,則限制用戶在主目錄內(nèi)。
(4)將相關項設置為關閉登陸用戶的Shell 、禁止從遺留的/etc/ftpusers文件中認證用戶、關閉反向查詢、連接時顯示歡迎信息等。
(5)禁止以被動模式登錄。
(6)禁止root 登陸,避免使用FTP 來猜root 口令。
5配置安全的Web 服務器
構(gòu)建一個有效的Web 入侵防御體系,必須從多方面入使用硬件/軟件防火墻、建立入侵檢測系統(tǒng)和入侵防御系手。
統(tǒng)、安裝Web 應用程序防火墻、遵循程序安全編碼規(guī)范、記錄完備的日志和監(jiān)控方案,同時網(wǎng)站和數(shù)據(jù)都要有冗余備份,采用一定的網(wǎng)頁防篡改機制等,都是常見的防御方法。5.1Apache 日志
利用Web 服務器日志可以用來進行訪問分析、歷史安全監(jiān)察、歷史運行狀況監(jiān)控等,因此管理好日志對網(wǎng)站的意義很大。將Apache 日志設置為回滾并自動分割,可以避免日志文件過于龐大、便于進行日志檢索,同時可以定期刪除舊的日志。
5.2日志分析工具Webalizer
Webalizer 是一個高效的、免費的web 服務器日志分析程序。其分析結(jié)果以HTML 文件格式保存,從而可以很方便的通過web 服務器進行瀏覽。由于Webalizer 是用C 語言寫的程序,所以其具有很高的運行效率。同時,Webalizer 支持標準的一般日志文件格式和幾種組合日志格式的變種,比較靈活。
5.3使用Cacti 監(jiān)控Web 服務器
Cacti 是一套基于PHP 、MySQL 、SNMP 及RRDTool 開發(fā)的網(wǎng)絡流量監(jiān)測圖形分析工具。通過snmpget 來獲取數(shù)據(jù),使用RRDtool 繪畫圖形。提供了非常強大的數(shù)據(jù)和用戶管host 以及任理功能,可以指定每一個用戶能查看樹狀結(jié)構(gòu)、何一張圖,還可以與LDAP 結(jié)合進行用戶驗證,同時也能自己增加模板,功能非常強大完善,界面友好。5.4使用mod_security
mod_security是一個集入侵檢測和防御引擎功能的開源Web 應用程序防火墻。以Apache Web 服務器的模塊方式運行, 目標是增強web 應用程序的安全性, 防止web 應用程序受到已知或未知的攻擊。5.5使用mod_evasive
mod_evasive是Apache 服務器的防DDOS 的一個模塊。雖然并不能完全防御DDOS 攻擊,但在一定條件下,還是起到降低Apache 服務器壓力的作用。
6結(jié)束語
·45·
,2010年12月
電腦學習
第6期
基于Hi-SpiderRouter 系統(tǒng)的校園VPN 實現(xiàn)
劉艷霞觹
摘
要:本文通過介紹VPN 的概念和技術,提出了一種架設基于Hi-SpiderRouter 路由系統(tǒng)SSL VPN 服務器的方案,從而構(gòu)
建出高性價比的校園專用網(wǎng)。
關鍵詞:VPN ;校園;Hi-SpiderRouter
文獻標識碼:A 中圖分類號:TP393
Liu Yanxia
文章編號:1002-2422(2010)06-0046-02
Realization of Campus VPN Based on Hi-SpiderRouter System
Abstract :
The paper introduced the VPN concepts and technologies, and proposed a plan that erects SSL VPN servers based on Hi-Spiderand constructed a high cost-performanceratio'scampus private network.
Key words:VPN; Campus; Hi-SpiderRouter
1VPN 概述
1.1VPN 的概念
IETF 組織對基于IP 的VPN 解釋為:通過專門的隧道加密技術在公共數(shù)據(jù)網(wǎng)絡上仿真一條點到點的專線技術。虛擬,是指用戶不再需要擁有實際的長途數(shù)據(jù)線路,而是使用Internet 公眾數(shù)據(jù)網(wǎng)絡的長途數(shù)據(jù)線路。專用網(wǎng)絡,是指用戶可以為自己制定一個最符合自己需求的網(wǎng)絡。1.2VPN 的主要技術
VPN 的效果相當于在Internet 上形成一條專用線路(隧道),從作用的效果看,VPN 與IP 電話類似,但VPN 對VPN 由兩個部分組成:隧道技術和于數(shù)據(jù)加密的要求更高。安全技術。1.2.1隧道技術
主要負責將待傳輸?shù)脑夹畔⒔?jīng)過加密、協(xié)議的封裝和數(shù)據(jù)壓縮處理后, 再套裝入另一種協(xié)議的數(shù)據(jù)包送入網(wǎng)絡中, 普通的數(shù)據(jù)包一樣進行傳輸。虛擬專用網(wǎng)絡授權的用戶才能對隧道中的數(shù)據(jù)包進行解釋和處理, 而其他用戶則無法處理這些信息, 從而保證VPN 的遠程用戶或主機和專用網(wǎng)絡的安全連接, 該技術就像在公用網(wǎng)上為信息交換的雙方開辟一條專用的私有數(shù)據(jù)通道一樣。隧道是由隧道
協(xié)議形成, 分為第二、三層隧道協(xié)議。第二層隧道協(xié)議是先把各種網(wǎng)絡協(xié)議封裝到PPP 中, 再把整個數(shù)據(jù)包裝入隧道協(xié)議中。這種雙層封裝方法形成的數(shù)據(jù)包靠第二層協(xié)議進行傳輸。第三層隧道協(xié)議是把各種網(wǎng)絡協(xié)議直接裝入隧道協(xié)議中, 形成的數(shù)據(jù)包依靠第三層協(xié)議進行傳輸。1.2.2
安全技術
安全技術由認證技術、加密技術及密鑰交換與管理組成。認證技術防止數(shù)據(jù)的偽造和被篡改,加密技術防止數(shù)據(jù)定義被破譯,密鑰交換與管理保證了加密密鑰的安全傳遞。數(shù)據(jù)的封裝形式,并利用IP 協(xié)議以安全方式在Internet 上傳送。數(shù)據(jù)加密和用戶認證則包含安全性的兩個方面:數(shù)據(jù)加密保證敏感數(shù)據(jù)不會被盜??;用戶認證則保證未獲認證的用戶無法訪問內(nèi)部網(wǎng)絡。1.3
SSL VPN 技術的優(yōu)勢
目前用于實現(xiàn)校園網(wǎng)的VPN 技術主要有IPSec VPN 和SSL VPN ,作為VPN 技術的元老,IPSec VPN 被廣泛地應用于各大中型企業(yè)網(wǎng)絡。但同時IPSec VPN 復雜的技術特點也使得網(wǎng)管員頭疼不已,無論在技術應用的普及化還IPSec VPN 都顯示出較大的不足。是在產(chǎn)品兼容性等方面,
與復雜的IPSec VPN 相比,SSL VPN 不僅不需要安裝客戶
.................................................................................................................................
所探討的基于LAMP 的Web 服務器的架構(gòu)方案,可以保證Web 服務器的安全性、可靠性和低成本。完全可以滿足普通高校對Web 服務器的要求,也能提高一般網(wǎng)絡服務企業(yè)的競爭力。
子出版社,2001:105-223.
[4]黃超.Linux 高級開發(fā)技術[M].北京:機械工業(yè)出版社,2002:57
-99.
[5]楊先麟,彭小陽.基于RHEL5影視Web 服務器的構(gòu)建[J].杭州:
計算機時代,2009(2):47-49.
計算[6]馮素梅.基于Linux 的重負載Web 服務器的架構(gòu)[J].杭州:
機時代,2010(6):13-14,17.
[7]趙鶴芹.設計動態(tài)網(wǎng)站的最佳方案:Apache+PHP+MySQL[J].北
京:計算機工程與設計,2007(4):933-934.
[8]曹江華.Linux 服務器安全策略詳解[M].北京:電子工業(yè)出版社,
2007:56-147.
參考文獻
[1]黃雁.基于xampp 的linux 網(wǎng)絡環(huán)境的配置[J].合肥.電腦知識2009(11):3025-3026,3033.與技術,
[2]馮有文.基于linux 構(gòu)建中小學校園網(wǎng)網(wǎng)絡信息安全管理系統(tǒng)[J].北京:中小學信息技術教育,2010(5):87-88.
[3]劉志勇.Linux+PHP+MySQL案例教程[M].北京:中科多媒體電收稿日期:2010-10-28
觹劉艷霞山西大同大學工學院講師(山西,大同037003)。
·46·