RHEL6系统LAMP平台之Apache配置全攻略
-
-
LAMP平台介绍,Apache配置基于域名、IP地址、端口的虚拟主机,Apache压力测试工具
LAMP架构是目前最为成熟的一种企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写,具体包括:Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或Perl,Python)编程语言。 在LAMP平台的四个构成组件中,每一个组件都承担着一部分关键应用。各组件的主要作用如下: & Linux:作为LAMP架构运行的基础,提供用于支撑Web沾点的操作系统平台,能够与AMP组件提供良好的兼容性 & Apache:作为LAMP架构的前端,是一款功能强大、稳定的Web服务器程序 &MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。 &PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释Web站点中的动态页面并提供开发环境。其中PHP是一种被广泛应用的开放源代码的多拥堵脚本语言,它可以嵌入到HTML中,尤其适合Web应用开发 下面为大家详细介绍下Red Hat Enterprise Linux6系统编译安装Apache的步骤和配置: Apache组件基于标准的HTTP网络协议提供网页浏览服务,即Web服务,HTTP是应用级的协议,主要用于分布式、协作的信息系统。HTTP协议是通用的、无状态的,其系统的建设和传输与数据无关。HTTP也是面向对象的协议,可以用于各种任务,包括名字服务、分布式对象管理、请求方法的扩展、命令等。在Internet上,HTTP通信往往发生在TCP/IP连接上,其默认的端口为80,也可以使用其他端口。。Apache服务器可以运行在Linux、UNIX、Windows等多种操作系统平台中。其主要特点包括:开放源代码、跨平台使用、支持各种网页编程语言、模块化设计、运行稳定和有良好的安全性。Apache的安装方式有两种:RPM包安装和编译安装,下面为Red Hat Enterprise Linux6系统编译安装Apache的步骤和配置: 自己可以去去http://httpd.apache.org/download.cgi 下载最新的Apache源码包 一、安装步骤: 1.解压并释放源码包: # tar -zxf httpd-2.4.2.tar.gz -C /usr/src/ # cd /usr/src/httpd-2.4.2/ 2.配置编译选项(有可能编译失败提示PCRE错误,我们可以执行yum install pcre* -y 就Ok): #./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/lib --enable-auth-digest --enable-cgi --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/usr/local/apache2/htdocs 3.编译服务器程序: #make 4.安装已编译完成的程序 #make install 二、配置: 1.构建基本可用的Web服务器 # vi /usr/local/apache2/conf/httpd.conf ServerName # /usr/local/apache2/bin/apachectl start 访问 (或者访问Apache服务器IP),出现It works!表示成功 添加Apache默认启动项: # cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd # ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd # vi /etc/rc.d/init.d/httpd \\添加两行注释 # chkconfig: 345 85 15 # description: Apache # chkconfig httpd on \\现在可以通过service命令启动和停止httpd服务了 2.构建基于域名的虚拟Web主机 # cd /usr/local/apache2/conf/htdocs/ #mkdir 55linux yeacome # echo "www.55linux.com" > 55linux/index.html # echo "bbs.yeacome.com" > yeacome/index.html # vi /usr/local/apache2/conf/httpd.conf NameVirtualHost 220.194.52.154 <VirtualHost 220.194.52.154:80> DocumentRoot "/usr/local/apache2/htdocs/55linux" ServerName www.55linux.com ErrorLog "logs/www.55linux.com.error_log" CustomLog "logs/www.55linux.com.access_log" common </VirtualHost> <VirtualHost 220.194.52.154:80> DocumentRoot "/usr/local/apache2/htdocs/yeacome" ServerName bbs.yeacome.com ErrorLog "logs/bbs.yeacome.com.error_log" CustomLog "logs/bbs.yeacome.com.access_log" common </VirtualHost> 重启服务,在客户端浏览器中访问测试: #service httpd restart 3.构建基于IP地址的虚拟主机: # cd /usr/local/apache2/conf/htdocs/ #mkdir 55linux yeacome # echo "www.55linux.com" > 55linux/index.html # echo "bbs.yeacome.com" > yeacome/index.html # vi /usr/local/apache2/conf/httpd.conf <VirtualHost 220.194.52.158> DocumentRoot "/usr/local/apache2/htdocs/55linux" ServerName www.55linux.com ErrorLog "logs/www.55linux.com.error_log" CustomLog "logs/www.55linux.com.access_log" common </VirtualHost> <VirtualHost 220.194.52.157> DocumentRoot "/usr/local/apache2/htdocs/yeacome" ServerName bbs.yeacome.com ErrorLog "logs/bbs.yeacome.com.error_log" CustomLog "logs/bbs.yeacome.com.access_log" common </VirtualHost> 重启服务,在客户端浏览器中访问测试: #service httpd restart 3.构建基于端口的虚拟主机: # cd /usr/local/apache2/conf/htdocs/ #mkdir 55linux yeacome # echo "www.55linux.com" > 55linux/index.html # echo "bbs.yeacome.com" > yeacome/index.html # vi /usr/local/apache2/conf/httpd.conf Listen 220.194.52.158:80 Listen 220.194.52.158:8080 <VirtualHost 220.194.52.158::80> DocumentRoot "/usr/local/apache2/htdocs/55linux" ServerName www.55linux.com ErrorLog "logs/www.55linux.com.error_log" CustomLog "logs/www.55linux.com.access_log" common </VirtualHost> <VirtualHost 220.194.52.158:8080> DocumentRoot "/usr/local/apache2/htdocs/yeacome" ServerName bbs.yeacome.com ErrorLog "logs/bbs.yeacome.com.error_log" CustomLog "logs/bbs.yeacome.com.access_log" common </VirtualHost> 重启服务,在客户端浏览器中访问测试: #service httpd restart 注释:上面的所有的主机,可以去掉httpd.conf文件中 #Include conf/extra/httpd-vhosts.conf 此行的注释,然后所有的配置可以写到/usr/local/apache2/conf/extra/httpd-vhosts.conf此文件中,其跟写在httpd.conf文件中一样。 4.基于用户的目录访问权限: 建立口令文件 #htpasswd -c /usr/local/apache2/.htpasswd 添加用户 #htpasswd /usr/local/apche2/.htpasswd 55linux 修改用户密码 #htpasswd /usr/local/apche2/.htpasswd 55linux 建立虚拟目录并配置用户认证 Alias /.htpasswd "/usr/local/mysecret“ <Directory "/usr/local/mysecret"> AuthType Basic AuthName "This is a private directory. Please Login:" AuthUserFile /usr/local/apche2/.htpasswd Require valid-user 55linux </Directory> 重启服务进行验证:service httpd restart 三、测试httpd服务器的性能: httpd服务自带了一个压力测试工具AB(Apache Benchmark),用于检测Web沾点的性能表现。命令使用格式如下: ab [-q] -c 并发连接数 -n 总的请求数 http://域名 注意:指定的并发连接数不能大于总的请求数
本文固定链接: