一、配置编译环境
实验环境:
操作系统:CentOS6.8
Apache HTTP Server版本:2.2.32
GCC版本:4.4.7
试验机IP:192.168.235.132
安装相关软件包:
从源代码编译需要安装开发环境,执行:
yum -y groupinstall "Development tools"
二、下载源代码
从Apache官方网站下载源代码,执行如下命令:
wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.2.32.tar.gz
解压源代码,执行如下命令:
tar -xvf httpd-2.2.32.tar.gz
三、编译Apache HTTP Server
执行如下命令:
cd cd httpd-2.2.32/ //进入源代码目录 ./configure --prefix=/usr/local/httpd2 --enable-so --enable-rewrite --enable-charset-lite --enable-cgi //配置编译时的一些功能选项 #--prefix 修改安装目录位置 #--enable-so 开启动态加载模块支持 #--enable-rewrite 开始rewrite支持 #--enable-charset-lite 启动字符集支持 #--enable-cgi 启动CGI脚本支持 make //开始编译 make install //编译完成安装
如果一切顺利,Apache HTTP Server会被安装到/usr/local/httpd2目录。
四、执行优化并安装HTTPD服务
与使用rpm或yum安装不同,从源代码安装并不会默认安装HTTPD服务脚本,我们需要对安装好的httpd软件进行一些设置使得我们能够使用chkconfig管理HTTPD服务。
配置过程如下:
ln -s /usr/local/httpd2/bin/* /usr/local/bin/ //为安装的可执行文件设置软连接,使得通过PATH变量可以直接调用 cp /usr/local/httpd2/bin/apachectl /etc/init.d/httpd //移动服务脚本到init.d目录
默认的apachectl脚本中并不含有chkconfig控制选项,所以我们需要修改它以使得我们可以用chkconfig安装和管理服务。
使用编辑器打开/etc/init.d/httpd文件,并在第二行加入:
#chkconfig: 35 85 15
以上语句表示使用chkconfig管理服务,后面的三个数字分别是:运行级别、启动顺序、关闭顺序。
至此,我们就可以使用chkconfig管理httpd服务。
chkconfig --add httpd chkconfig --list httpd
可以看到:
httpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
启动服务:
service httpd start
检查服务运行状态:
netstat -anpt | grep 80
如果一切顺利,我们会看到httpd服务运行,监听在tcp的80端口。
打开浏览器,在地址栏中输入http://http://192.168.235.132/
会看到下图,证明服务启动成功!