正式安装Apache2.4 操作系统:Centos7.4,(需要关闭Selinux)
1.在每安装一个服务都要养成查看是否安装,如果安装则需要卸载:
#[root@yankerp ~]# rpm -qa | grep httpd
以下是如果之前系统已经安装httpd卸载方法:
2.安装apache2.4.23 (是编译安装那么就会需要用到源码包)在安装apache2.4.23需要的源码包如下:
httpd-2.4.23.tar.gz apr-1.5.2.tar.gz apr-util-1.5.4.tar.gz zlib-1.2.8.tar.gz pcre-8.39.tar.gz
以上包中apr是可移植的运行库,它是一个对操作系统调用的抽象库,用来实现apache内部组件对系统的使用,提高系统的可移植性,pcre zlib想必大家都很了解,这里不在概述。
1)下载安装apr和apr-util 在安装之前这些包我已经下载好了,同时大家可以使用以下链接来进行下载
apr官网地址http://apr.apache.org/download.cgi
#[root@yankerp ~]# wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz
安装:
-
# tar zxf apr-1.5.2.tar.gz
-
[root@yankerp ~]# cd apr-1.5.2/
-
[root@yankerp apr-1.5.2]# ./configure --prefix=/usr/local/apr && make && make install
如果出现了以上情况,需要安装gcc编译器。。。
# yum install gcc gcc-c++ -y
再次安装:
安装结束后使用echo $?来判断以上操作是否又报错,非0则不成功,若没有继续安装下一个包
2)安装apr-util(安装的方法和上边安装apr都是一样的) 最后make && make install
# wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
2.安装zlib
zlib官网:http://www.zlib.net/
-
# wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz
-
tar zxf zlib-1.2.8.tar.gz
-
[root@yankerp ~]# cd zlib-1.2.8/
-
[root@yankerp zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install
3.安装pcre
pcre官网:https://ftp.pcre.org/
# wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.gz
4.安装openssl(在安装apache2.4中它会提示openssl版本过于低,所以需要安装openssl)
openssl官网:https://www.openssl.org/
#wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz
make && make install
安装完的调整
-
#mv /usr/bin/openssl /usr/bin/openssl.1.0.1e
-
[root@yankerp openssl-1.0.1u]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
5.以上操作都是为apache2.4准备的,接下来正式安装apache2.4
-
#tar zxf httpd-2.4.23.tar.gz
-
cd httpd-2.4.23/
make && make install
参数解释:
./configure --prefix=/usr/local/http-2.4.23 //指定apache的安装路径
--enable-so //这个是支持动态共享模块
--enable-rewrite //支持URL重写
--enable-ssl //支持ssl
--with-ssl=/usr/local/openssl //这个是指定openssl的安装位置
--enable-cgi //启用cgi
--enable-modules=most 指明要静态编译到httpd二进制文件的模块 all或者most,all代表包含所有的模块 most代表大部分的模块
--enable-mods-shared=most 指明要以DSO方式编译的模块,all代表全部,most代表大部分
--enable-mpms-shared=all 启用MPM所有支持的模式,这样event,worker,prefork就会以模块化的方式安装,要用哪个就在httpd.conf里面配置就好了
--with-mpm=event 指定启用mpm模式,默认使用enevt模式,在apache的早期版本2.0默认prefork,2.2版本是worker 2.4版本是event.
--with-pcre=/usr/local/pcre 支持 pcre
--with-z=/usr/local/zlib 使用 zlib 压缩库
--with-apr=/usr/local/apr 指定 apr 的安装路径
--with-apr-util=/usr/local/apr-util 指定 apr-util 的安装路径
--enable-expires:激活彧通过配置文件控制 HTTP 的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css 等内容,提供客户端浏览器缓
存的设置。这个是 apache 调优的一个重要选项之一。
--enable-deflate:提供对内容的压缩传输编码支持,一般是 html、js、css 等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是 apache 调优的一个重要选项之一
到这里必须要知道Apache的三种工作模式:event,worker,prefork !!!
在make && make install完成之后我们一定要echo $?来确保安装没过程中没有错误
此时我们的apache2.4已经正式的安装成功!!!
6.优化http程序执行路径
# ln -s /usr/local/http-2.4.23/bin/* /usr/local/bin/
修改配置文件设置ServerName
我们在安装apache的时候安装路径指定到了/usr/local/http2.4下面,我们进去http的安装位置查看有什么目录。
我们看到了一个conf目录,也就是说这个目录下面存放的就是我们apache的主配置文件,httpd.conf(修改servername)
7.开启apache服务
设置apache为开机自启动
-
#cp /usr/local/http-2.4.23/bin/apachectl /etc/init.d/httpd
-
sed -i '1a # chkconfig: 35 85 21' /etc/init.d/httpd
-
sed -i '2a # description: apache 2.4.23' /etc/init.d/httpd
添加为系统服务并自启动
修改网页根目录,client访问测试
以下是apache网页根目录(我们可以在里面更改想要的内容)
注意:如果做到这里httpd已经启动但是无法访问可能造成原因有以下几种:
1.清除浏览器缓存后再次访问。
2.没有关闭selinux会出现访问不到的情况
3.没有关闭防火墙,则需要添加80端口,或者可以选择关闭防火墙