• 欢迎访问VPS岛网站,国外VPS,国内VPS,国外服务器,国内服务器,服务器主机,测评及优惠码,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群

安装Apache2.4.23

Apache技术 FJCA 153次浏览 已收录 0个评论

一、Apache2.4新增特性

1.新增模块

mod_proxy_fcgi(可提供fcgi代理)
mod_ratelimit(限制用户带宽)
mod_request(请求模块,对请求做过滤)
mod_remoteip(匹配客户端的IP地址)
对于基于IP的访问控制做了修改,不再支持allow,deny,order机制,而是统一使用require进行

2.MPM支持在运行时装载;不过要开启这种特性,在编译安装要启用这三种功能;
–enable-mpms-shared=all  –with-mpm=event
3.支持event,这是Apache最新的工作模式。

4.支持异步读写

5.在每个模块及每个目录上指定日志级别
6.增强版的表达式分析器

7.每请求配置:<If>, <Elseif>

8.毫秒级别的keepalive timeout

9.基于FQDN的虚拟主机不再需要NameVirtualHost指令

10.支持使用自定义变量


二、编译安装Apache2.4.23

系统环境:Centos7.3,关闭selinux

需要的源码包:

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

这里提前将这些包下载下来,并存放到了/root/目录下。

注:apr(Apache Portable Runtime)Apache可移植运行库它是一个对操作系统调用的抽象库,用来实现Apache内部组件对操作系统的使用,提高系统的可移植性

 

下面通过脚本实现Apache2.4.23的安装:

#install apr

tar zxf apr-1.5.2.tar.gz

cd apr-1.5.2/

./configure prefix=/usr/local/apr

make

make install

#install apr-util

cd /root/

tar zxf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4/

./configure prefix=/usr/local/apr-util with-apr=/usr/local/apr

make

make install

#install zlib

cd /root/

tar zxf zlib-1.2.8.tar.gz

cd zlib-1.2.8/

./configure prefix=/usr/local/zlib

make

make install

#install pcre

cd /root/

tar zxf pcre-8.39.tar.gz

cd pcre-8.39/

./configure prefix=/usr/local/pcre

make

make install

#install openssl

cd /root/

tar zxf openssl-1.0.1u.tar.gz

cd openssl-1.0.1u/

./config fPIC prefix=/usr/local/openssl enable-shared

make

make install

mv /usr/bin/openssl /usr/bin/openssl.1.0.1e

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

#install httpd

cd /root/

tar zxf httpd-2.4.23.tar.gz

cd httpd-2.4.23/

./configure prefix=/usr/local/http-2.4.23 enable-so enable-cgi enable-cgid enable-ssl with-ssl=/usr/local/openssl enable-rewrite  with-pcre=/usr/local/pcre with-z=/usr/local/zlib with-apr=/usr/local/apr with-apr-util=/usr/local/apr-util enable-modules=most enable-mods-shared=most enable-mpms-shared=all with-mpm=event enable-proxy enable-proxy-fcgi enable-expires enable-deflate

make

make install

ln -s /usr/local/http-2.4.23/bin/* /usr/local/bin/

#Automatic startup after switch on

cp /usr/local/http-2.4.23/bin/apachectl /etc/init.d/httpd

sed i ‘1i # chkconfig: 35 85 15\n# description: apache 2.4.23’ /etc/init.d/httpd

chkconfig add httpd

chkconfig httpd on

#startup httpd

sed i ‘1i ServerName www.test.com’  /usr/local/http-2.4.23/conf/httpd.conf

/etc/init.d/httpd -t

/etc/init.d/httpd start

netstat utpln | grep httpd

firewall-cmd permanent add-service=http

firewall-cmd reload

注意:centos7自带版本openssl1.0.1e对于apache2.4.23来说版本过低,需要下载安装openssl-1.0.1u

 

httpd配置的相关参数解释:

–enable-so:支持动态共享模块(即打开DSO支持)

–enable-rewrite:支持url重写

–enable-ssl:支持ssl

–with-ssl=/usr/local/openssl:指定ssl安装位置

–enable-cgi:启用cgi

–enable-cgid:MPM使用的是eventworker要启用cgid

–enable-modules=most:明确指明要静态编译到httpd二进制文件的模块,<MODULE-LIST>为空格分隔的模块名列表、all或者mostall表示包含所有模块,most表示包含大部分常用模块

–enable-mods-shared=most:明确指明要以DSO方式编译的模块,<MODULE-LIST>为空格分隔的模块名列表、all或者mostall表示包含所有模 块,most表示包含大部分模块

–enable-mpms-shared=all:启用MPM所有支持的模式,这样eventworkerprefork就会以模块化的方式安装,要用哪个就在 httpd.conf 里配置就好了。

–with-mpm=event:指定启用的mpm模式,默认使用enevt模式apache的早期版本2.0默认prefork,2.2版本是worker2.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:”头内容,即对网站图片、jscss等内容,提供客户端浏览器缓存的设置。这个是apache调优的一个重要选项之一。

–enable-deflate:提供对内容的压缩传输编码支持,一般是htmljscss等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是apache调优的一个重要选项之一。


二、安装完成后出现的问题及及解决方法

wKioL1j0bgPBgGMEAAAfXCWIEXk298.png

可以看到80端口处于监听状态,说明httpd服务正常。但是,查看其状态时报错,说是lynx这个命令没有找到。下面,就这个问题说明一下解决的思路和方法。


wKiom1j0bgOBZriWAAAIHZENXDY021.pnglynx是一种纯文本模式的网页浏览器,lynx命令找不到可能是因为该软件包并没有安装。


wKioL1j0bgSCPxGXAAALu-_aoG8159.png

安装lynx之后,再查看httpd的状态,提示说请求的URL/server-status找不到,那么我们可以看一下httpd启动脚本中关于/server-status的信息:

wKiom1j0bgSA0T-CAAAH2RwsKdQ668.png

从注释中可以看出这个URL链接的是mod_status这个模块的状态页,之前的报错信息说明这个状态页找不到,那有可能是主配置文件中并没有该资源的配置信息。


wKioL1j0bgSz-IlRAAAcsytqmJk606.png

通过以上步骤,可以确定/server-status这个状态页信息是定义在httpd-info.conf这个配置文件中的,那么我们便需要在主配置文件中加载httpd-info.conf,去掉配置行Include conf  /extra/httpd-info.conf之前的#即可。

wKiom1j0bgXif3SfAAALFKuKg_8209.png

优雅启动httpd服务,再次查看其状态,发现没有权限查看该状态页,那就修改httpd-info.conf,赋予查看该状态页的权限:

wKioL1j0bgWws7JJAAAQ6DsxlvA669.png

wKiom1j0bgbDBxGsAAAu-9uRp-g539.png

优雅启动httpd,查看其状态成功!


VPS岛 的文章和资源来自互联网,仅作为参考资料,如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。丨 转载请注明安装Apache2.4.23
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址