设为首页 收藏本站
查看: 882|回复: 0

[经验分享] 安装Apache2.4.23

[复制链接]

尚未签到

发表于 2018-11-27 08:23:27 | 显示全部楼层 |阅读模式
一、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.每请求配置:,
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自带版本openssl-1.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二进制文件的模块,为空格分隔的模块名列表、all或者mostall表示包含所有模块,most表示包含大部分常用模块
  --enable-mods-shared=most:明确指明要以DSO方式编译的模块,为空格分隔的模块名列表、all或者mostall表示包含所有模 块,most表示包含大部分模块
  --enable-mpms-shared=all:启用MPM所有支持的模式,这样event、workerprefork就会以模块化的方式安装,要用哪个就在 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调优的一个重要选项之一。
  

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

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


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

  

DSC0002.png

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

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


DSC0004.png

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

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

  

DSC0007.png

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

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640072-1-1.html 上篇帖子: Apache的优化配置 下篇帖子: apache下安装PHP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表