1. 准备工作
1.1 有些linux版本中已经预置了有Apache,并且已经是服务了,所有首先检查系统中是否已经存在httpd的服务
1. 查看是否有httpd进程正在运行(下图是有的情况)
ps -ef|grep httpd

2. 查看linux系统服务中有没有httpd(下图是有的情况)
chkconfig --list

1.2 如果有processor或者有service,就执行如下步骤,没有的话可以跳过此步
1. 关闭httpd服务自启动
chkconfig httpd off
2. 停止httpd服务
service httpd stop
3. 停止后查看进程processor,如果依然有httpd,手动kill掉
ps -ef|grep httpd
kill -9 pid(逐个都删除)
4. 卸载httpd软件
# 先检查安装包的名字
rpm -qa|grep httpd
#根据名字删除包
rpm -e httpd-tools-2.4...
5. 删除httpd.conf文件
#先检查文件在哪
find / -name httpd.conf
#查出之后根据路径把它删了
rm /xxx/xxx/httpd.conf
1.3 软件下载
Apache(httpd) 安装包下载
2. 安装
2.1 如果没有安装gcc/gcc-c++的话必须安装
[root@localhost /]#gcc -v
gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC)
## 这个结果就是有gcc,那么就不需要看下面的安装gcc了
[root@localhost /]# yum list
##一种可能的搜索结果如下:有包但没安装
Avaliable Packages
gcc-c++.x86_64
如果结果中没有gcc-c++,或者只有”gcc-c++ Avaliable Packages”没有”gcc-c++ Installed”的话就说明需要安装,安装代码如下:
[root@localhost /]# yum install gcc-c++
2.2 安装APR、APR-Util、PCRE、Apache Http Server
将这些都安装在/usr/local中,先mkdir目录如下
[root@localhost soft]# mkdir /usr/local/httpd
[root@localhost soft]# mkdir /usr/local/apr
[root@localhost soft]# mkdir /usr/local/apr-util
[root@localhost soft]# mkdir /usr/local/pcre
然后步骤如下:
[root@localhost soft]# tar -zxf apr-1.5.2.tar.gz
[root@localhost soft]# tar -zxf apr-util-1.5.4.tar.gz
[root@localhost soft]# tar -zxf pcre-8.38.tar.gz
[root@localhost soft]# tar -zxf httpd-2.4.18.tar.gz
[root@localhost soft]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.5.2]# make
[root@localhost apr-1.5.2]# make install
[root@localhost apr-1.5.2]# cd ../apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util-1.5.4]# make
[root@localhost apr-util-1.5.4]# make install
[root@localhost apr-util-1.5.4]# cd ../pcre-8.38
[root@localhost pcre-8.38]# ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost pcre-8.38]# make
[root@localhost pcre-8.38]# make install
[root@localhost pcre-8.38]# cd ../httpd-2.4.18
[root@localhost httpd-2.4.18]# ./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util ap_cv_void_ptr_lt_long=no
[root@localhost httpd-2.4.18]# make
[root@localhost httpd-2.4.18]# make install
3. 配置、启动
1 httpd.conf是主配置文件,你可以按需更改,一般来说可能需要自定义端口,那么就vim修改httpd.conf文件的监听端口,改为你希望的
[root@localhost httpd-2.4.18]# vi /usr/local/httpd/conf
# 设置或修改如下参数
Listen 10080
ServerName 10.6.11.52:10080
2. 启动、关闭、重启
[root@localhost bin]# cd /usr/local/httpd/bin
[root@localhost bin]# ./apachectl start
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl restart
4. Apache设置为Linux系统服务,并开机启动
1. 将链接apachectl 复制到系统启动目录下并命名为httpd
[root@localhost bin]# cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
2. 使用chkconfig来注册apache服务,并其可以在linux的服务列表中看到(chkconfig –list)
在init.d的httpd链接文件中第2行添加如下注释,并wq保存退出。
[root@localhost bin]# vim /etc/rc.d/init.d/httpd
这里写代码片
意义如下
35:在3级别和5级别(级别见文末TIPS)启动httpd
61:启动顺序为61号,S61
61:关闭顺序为61号,K61
当进行chkconfig --add httpd操作时,如果没有指定level那么就会来这个注释中取值
httpd配置自启并加入linux服务监控
[root@localhost bin]# chkconfig --add httpd