华彩软件站-绿色软件下载站!

华彩软件下载站

Apache怎么进阶?Apache进阶教程

 本篇博文为Linux网站架构系列之apache的第二篇,我将带大家一起学习apache的编译参数,目录结构和配置文件等方面的知识,实现对apache服务的进一步掌握,并使之能更好的应用到生产实战中去。


一、编译参数


在上篇的apache部署中,我们用了大量的编译参数,其实apache的编译参数并不止这些,这些只是我们生产环境中常用的。我们在apache的源码包目录下,用以下命令可以将他们都输出出来


[root@c64-web httpd-2.4.6]# ./configure --help


此命令的输出这里就不贴出来了,一大堆呢,估计你也不看,有些参数一百年也用不到一次。如果想了解这些参数,你可以百度一下。


这里我将详细为大家说明一下我们常用的编译参数的作用



--prefix=/usr/local/apache-2.4.6 #表示指定apache安装路径为/application/apache2.2.25。如果不指定安装路径,则默认路径为/usr/local/apache2
--with-apr=/usr/local/apr #指定apr安装路径,不然会报错
--with-apr-util=/usr/local/apr-util #指定apr-util安装路径,不然会报错
--with-pcre #支持perl的正则表达式,不然会报错
--enable-so #激活apache服务的DSO(全称Dynamic Shared Object,动态共享对象)支持,即在以后可以以DSO的方式编译安装共享模块,这个模块本身不能以DSO方式编译。
--enable-ssl #基于ssl加密传输
--enable-cgi #开启CGI脚本
--enable-rewrite # 提供基于URL规则的重写功能。即根据已知URL地址,转换其它想要的URL地址。如前文讲解的伪静态功能就是这个模块实现的。这是apache生产环境中必用的一个重要功能。
--with-zlib #支持压缩
--enable-deflate # 提供对内容的压缩传输编码支持,一般html,js,css等内容的站点,使用此参数功能会大大提高传输速度,提升访问者访问体验。在生产环境中,这是apache调优的一个重要选项之一。
--enable-expires # 激活允许通过配置文件控制HTTP的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css等内容,提供在客户端游览器缓存的设置。这是apache调优的一个重要选项之一。
--enable-headers #提供允许对HTTP请求头的控制
--enable-modules=most #支持大多数模块
--enable-mpms-shared=all #mpm模块的动态切换
--with-mpm=worker #选择apache mpm的模式为worker模式。因worker模式原理是更多的使用线程来处理请求,所以可以处理更多的并发请求,而系统资源的开销小于基于进程的MPM prefork。如果不指定此参数,默认的模式是prefork进程模式。这两者的关系,在调优篇里面我会详细为大家讲解。

二、apache目录结构介绍


熟悉apache的目录结构,对我们对apache知识点的理解和掌握尤为重要,下面我将带大家一起来对apache的目录结构进行了解。


[root@c64-web /]# tree -L 3 /usr/local/apache/    #以下我对输出做了精简,仅保留常用的

./

├── bin         #存放apache命令的目录,如apache启动命令apachectl

 ├── ab        #apache http服务器性能测试工具,简单、易用。同类软件还有jmeter、loadrunner、webbench等

 ├── apachectl  #apache的启动程序,需重点掌握,apachectl是一个脚本

 ├── apxs       #apxs是一个为apache HTTP服务器编译和安装扩展模块的工具,在进行DSO方式模块编译时会用到。后面在编译php软件时就用到了这个命令,如:--with-apxs2=/application/apache/bin/apxs

 ├── htcacheclean #这是清理磁盘缓冲区的命令,需要在编译时指定相关参数才可使用,一般用的很少。

 ├── htpasswd   #建立和更新基本认证文件,如:配置nagios等监控服务时会用到。

 ├── httpd      #httpd为apache的控制命令程序,apachectl执行时会调用httpd

 └── rotatelogs #apache自带的日志轮询工具,也还可以用,但在老师工作场景中习惯由cronolog替代之

├── build

├── cgi-bin

├── conf   #这是apache的所有的配置文件的目录,极其重要

 ├── extra #这是额外的apache配置文件目录,这个目录里的文件我们会经常访问修改

  ├── httpd-dav.conf   #dav支持配置

  ├── httpd-default.conf    #这个文件里配置的是apache的相关服务参数:超时时间,保持连接时间等。

  ├── httpd-languages.conf  #语言支持配置

  ├── httpd-mpm.conf   #服务器池管理,也就是优化apache的一个配置文件,如:选择apache的模式及配置连接数等,常用的模式有worker模式和profork模式,默认情况是profork模式。

  ├── httpd-ssl.conf   #这是apache SSL支持配置文件

  └── httpd-vhosts.conf  #这是虚拟主机的配置文件

 └── httpd.conf  #apache的主配置文件,这个文件我们会经常访问修改,其每一行的参数作用都应弄清楚明白

├── htdocs   #这是编译安装时apache的默认站点目录,前面已说明。

 └── index.html #默认的首页文件,在实际环境中,大家习惯用index.html、index.php、index.jsp来做首页文件,首页文件名字是在httpd.conf中事先定义好的。具体参数:Directoryindex index.html

├── logs  #存放apache默认的日志路径,包括错误日志及访日志问

 ├── access_log  #这是apache的默认访问日志文件。

 ├── error_log   #这是apache的错误日志文件,如果apache出现启动故障等问题,一定要看看这个错误日志。

└── httpd.pid    #httpd的pid文件,httpd进程启动后,会把所有进程的ID号写到此文件。

└── modules  #apache的模块目录,比如php.memcache等模块编译后都在这里。


以上就是apache的目录结构说明了,大家了解一下知道做什么用就可以了。


 

标签:Apache

最新评论

返回顶部
友情链接:幸运飞艇  幸运飞艇  幸运飞艇  幸运飞艇  幸运飞艇  幸运飞艇  幸运飞艇  幸运飞艇  幸运飞艇  幸运飞艇  

免责声明: 本站资料及图片来源互联网文章,本网不承担任何由内容信息所引起的争议和法律责任。所有作品版权归原创作者所有,与本站立场无关,如用户分享不慎侵犯了您的权益,请联系我们告知,我们将做删除处理!