基于LAMP的高性能Web服务器的架构
2010年12月电脑学习第6期基于LAMP 的高性能Web 服务器的架构桑一梅觹摘要:文章提出了基于LAMP 的高性能Web 服务器的架构方案,采用了Apache 日志、Webalizer 日志分析、
2010年12月
电脑学习
第6期
基于LAMP 的高性能Web 服务器的架构
桑一梅觹
摘
要:文章提出了基于LAMP 的高性能Web 服务器的架构方案,采用了Apache 日志、Webalizer 日志分析、Cacti 流量监控、
入侵检测的方法,架构了一个完善的、稳定的、安全的、低廉的高性能Web 服务器,满足了中小型企业的要求。
关键词:LAMP ;Web 服务器;Apache 日志;流量控制;入侵检测和防御;系统调优
文献标识码: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高性能的操作系统Linux
Linux 是一个符合POSIX (Portable Operating System Interface of Unix ,可移植操作系统接口)标准的操作系统。Linux 操作系统软件包不仅包括完整的Linux 操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。同时还包括带有多个窗口管理器的X-Windows图形用户界面,允许用户象使用Windows 一样使用窗口、图标和菜单对系统进行操作。
1.2高性能的网页服务器Apache
Apache 源于NCSAhttpd 服务器,经过多次修改,成为世有界上应用最广泛的Web 服务器。其优点是源代码开放、一支开放的开发队伍、支持跨平台的应用以及可移植性等。1.3高性能的数据库MySQL
MySQL 是一个关系型数据库管理系统,虽然MySQL 规模小、功能有限。但是MySQL 体积小、速度快、开放源代码、可移植性强、支持多种操作系统、为多种编程语言提供API 、支持多线程、具有优化的SQL 查询算法。既能单独应用也能嵌入到其他的软件中,对于一般的个人用户和中小型企业来说,MySQL 提供的功能完全能够满足应用需求。1.4高效率的编程语言PHP
PHP (Hypertext Preprocessor ,超级文本预处理语言)是一种在服务器端执行的脚本语言,可以嵌入到HTML 文档中。PHP 独特的语法混合了C 、Java 、Perl 以及PHP 自创新的语法。
处理,而相关的动态页面请求将被Apache 服务器交由相应的动态语言模块处理,比如PHP 、Perl 或者Python 。如果动态页面中涉及到数据库查询,相应的数据查询会被转交给MySQL 数据库服务器。
Static
Content
HTTP Connections
Apache
Dynamic Content mod PHP Linux
MySQL
图1LAMP 架构示意图
3LAMP 的发展与演化
随着LAMP 的不断发展和流行,结合不同的操作系统、
Web 应用服务器、数据库服务器及开发语言,AMP(Apache、MySQL 、PHP/Perl/Python)演化出越来越多的组合,例如:
XAMPP (XAMPP 是一个易于安装且包含MySQL 、PHP 和Perl 的Apache 发行版)。
WAMP (以Microsoft Windows 替代Linux )。BAMP (以BSD 替代Linux )。
WIMP (指以Microsoft Windows 替代Linux, 用Micro-soft IIS 替代Apache )。
LAMJ (以JSP/servlet作为开发语言)。LAPP (以PostgreSQL 替代MySQL )。
4Web 服务器搭建
4.1Linux 主机配置
(1)使用vi /etc/sysconfig/network-scripts/ifcfg-eth0命令进行网卡的配置。
(2)使用/etc/init.d/networkrestart 或service network r-estart 命令重启网卡。
(3)使用vi /etc/sysconfig/iptables命令对iptables 进行配置,以对相应网段开放相应的端口。
2LAMP 平台架构
LAMP 平台是关注于Web 应用程序的,因此LAMP 架构十分简单如图1所示。
所有的HTTP 连接请求将被Linux 操作系统转发给A-pache 处理,其中静态内容的请求将直接被Apache 服务器
收稿日期:2010-10-20
(江苏,苏州215000)。觹桑一梅苏州经贸职业技术学院讲师
·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 并以系统管理员身份登录。(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 的性能调优。4.2.3PHP 配置
编辑/opt/lampp/etc/php.ini文件:
(1)关闭display_errors和register_globals。
(2)酌情修改页面执行时间、页面消耗内存、用户提交的数据大小和上传文件的大小。
(3)关闭除zip.so和memcache.so外的所有模块。4.2.4Proftpd 配置
编辑/opt/lampp/etc/proftpd.conf文件:
(1)确保Proftpd 以nobody 运行。
(2)适当修改最大子进程数、允许链接的用户数、每个用户允许的连接数和登录次数。
(3)如果开放虚拟主机给其它用户使用,则限制用户在主目录内。
(4)将相关项设置为关闭登陆用户的Shell 、禁止从遗留的/etc/ftpusers文件中认证用户、关闭反向查询、连接时显示欢迎信息等。
(5)禁止以被动模式登录。
(6)禁止root 登陆,避免使用FTP 来猜root 口令。
5配置安全的Web 服务器
构建一个有效的Web 入侵防御体系,必须从多方面入使用硬件/软件防火墙、建立入侵检测系统和入侵防御系手。
统、安装Web 应用程序防火墙、遵循程序安全编码规范、记录完备的日志和监控方案,同时网站和数据都要有冗余备份,采用一定的网页防篡改机制等,都是常见的防御方法。5.1Apache 日志
利用Web 服务器日志可以用来进行访问分析、历史安全监察、历史运行状况监控等,因此管理好日志对网站的意义很大。将Apache 日志设置为回滚并自动分割,可以避免日志文件过于庞大、便于进行日志检索,同时可以定期删除旧的日志。
5.2日志分析工具Webalizer
Webalizer 是一个高效的、免费的web 服务器日志分析程序。其分析结果以HTML 文件格式保存,从而可以很方便的通过web 服务器进行浏览。由于Webalizer 是用C 语言写的程序,所以其具有很高的运行效率。同时,Webalizer 支持标准的一般日志文件格式和几种组合日志格式的变种,比较灵活。
5.3使用Cacti 监控Web 服务器
Cacti 是一套基于PHP 、MySQL 、SNMP 及RRDTool 开发的网络流量监测图形分析工具。通过snmpget 来获取数据,使用RRDtool 绘画图形。提供了非常强大的数据和用户管host 以及任理功能,可以指定每一个用户能查看树状结构、何一张图,还可以与LDAP 结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好。5.4使用mod_security
mod_security是一个集入侵检测和防御引擎功能的开源Web 应用程序防火墙。以Apache Web 服务器的模块方式运行, 目标是增强web 应用程序的安全性, 防止web 应用程序受到已知或未知的攻击。5.5使用mod_evasive
mod_evasive是Apache 服务器的防DDOS 的一个模块。虽然并不能完全防御DDOS 攻击,但在一定条件下,还是起到降低Apache 服务器压力的作用。
6结束语
·45·
,2010年12月
电脑学习
第6期
基于Hi-SpiderRouter 系统的校园VPN 实现
刘艳霞觹
摘
要:本文通过介绍VPN 的概念和技术,提出了一种架设基于Hi-SpiderRouter 路由系统SSL VPN 服务器的方案,从而构
建出高性价比的校园专用网。
关键词: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 解释为:通过专门的隧道加密技术在公共数据网络上仿真一条点到点的专线技术。虚拟,是指用户不再需要拥有实际的长途数据线路,而是使用Internet 公众数据网络的长途数据线路。专用网络,是指用户可以为自己制定一个最符合自己需求的网络。1.2VPN 的主要技术
VPN 的效果相当于在Internet 上形成一条专用线路(隧道),从作用的效果看,VPN 与IP 电话类似,但VPN 对VPN 由两个部分组成:隧道技术和于数据加密的要求更高。安全技术。1.2.1隧道技术
主要负责将待传输的原始信息经过加密、协议的封装和数据压缩处理后, 再套装入另一种协议的数据包送入网络中, 普通的数据包一样进行传输。虚拟专用网络授权的用户才能对隧道中的数据包进行解释和处理, 而其他用户则无法处理这些信息, 从而保证VPN 的远程用户或主机和专用网络的安全连接, 该技术就像在公用网上为信息交换的双方开辟一条专用的私有数据通道一样。隧道是由隧道
协议形成, 分为第二、三层隧道协议。第二层隧道协议是先把各种网络协议封装到PPP 中, 再把整个数据包装入隧道协议中。这种双层封装方法形成的数据包靠第二层协议进行传输。第三层隧道协议是把各种网络协议直接装入隧道协议中, 形成的数据包依靠第三层协议进行传输。1.2.2
安全技术
安全技术由认证技术、加密技术及密钥交换与管理组成。认证技术防止数据的伪造和被篡改,加密技术防止数据定义被破译,密钥交换与管理保证了加密密钥的安全传递。数据的封装形式,并利用IP 协议以安全方式在Internet 上传送。数据加密和用户认证则包含安全性的两个方面:数据加密保证敏感数据不会被盗取;用户认证则保证未获认证的用户无法访问内部网络。1.3
SSL VPN 技术的优势
目前用于实现校园网的VPN 技术主要有IPSec VPN 和SSL VPN ,作为VPN 技术的元老,IPSec VPN 被广泛地应用于各大中型企业网络。但同时IPSec VPN 复杂的技术特点也使得网管员头疼不已,无论在技术应用的普及化还IPSec VPN 都显示出较大的不足。是在产品兼容性等方面,
与复杂的IPSec VPN 相比,SSL VPN 不仅不需要安装客户
.................................................................................................................................
所探讨的基于LAMP 的Web 服务器的架构方案,可以保证Web 服务器的安全性、可靠性和低成本。完全可以满足普通高校对Web 服务器的要求,也能提高一般网络服务企业的竞争力。
子出版社,2001:105-223.
[4]黄超.Linux 高级开发技术[M].北京:机械工业出版社,2002:57
-99.
[5]杨先麟,彭小阳.基于RHEL5影视Web 服务器的构建[J].杭州:
计算机时代,2009(2):47-49.
计算[6]冯素梅.基于Linux 的重负载Web 服务器的架构[J].杭州:
机时代,2010(6):13-14,17.
[7]赵鹤芹.设计动态网站的最佳方案:Apache+PHP+MySQL[J].北
京:计算机工程与设计,2007(4):933-934.
[8]曹江华.Linux 服务器安全策略详解[M].北京:电子工业出版社,
2007:56-147.
参考文献
[1]黄雁.基于xampp 的linux 网络环境的配置[J].合肥.电脑知识2009(11):3025-3026,3033.与技术,
[2]冯有文.基于linux 构建中小学校园网网络信息安全管理系统[J].北京:中小学信息技术教育,2010(5):87-88.
[3]刘志勇.Linux+PHP+MySQL案例教程[M].北京:中科多媒体电收稿日期:2010-10-28
觹刘艳霞山西大同大学工学院讲师(山西,大同037003)。
·46·