[root@Web-Lamp application]# grep -i documentroot ./apache/conf/httpd.conf
# DocumentRoot: The directory out of which you will serve your
DocumentRoot "/application/apache2.2.31/htdocs"
# This should be changed to whatever you set DocumentRoot to.
# access content that does not live under the DocumentRoot.
此时,如果要部署网站服务,只需要把开发好的程序放置到/application/apache2.2.32/htdocs目录下即可!至此Apache的安装已完成!
APACHE的目录结构
[root@Web-Lamp apache]# tree bin
bin
├── ab #APACHE HTTP服务器性能测试工具,简单,易用。同类软件还有jmeter,loadrunner,webbench等
├── apachectl #这是APACHE的启动命令,需重点掌握,apachectl是一个脚本
├── apxs #apxs是一个为apache http服务器编译和安装扩展模块的工具,在进行DSO方式模块编译时会用到
#后文在编译php软件时就用到此命令,如:--with-apxs2=/application/apache/apxs
├── htcacheclean #这是清理磁盘缓冲区的命令,需要在编译时指定相关参数才可使用,一般用的很少
├── htpasswd #建立和更新基本认证文件,如:配置nagios等监控服务时会用到
├── httpd #此为apache的控制命令程序,apachectl执行时会调用httpd
└── rotatelogs #apache自带的日志轮询命令,也还可以用,但在实际生产环境中习惯由cronolog替换它
提示:以上目录只列出了工作中比较常用的命令,其它末使用过的略过!
[root@Web-Lamp apache]# tree conf
conf
├── extra #这是额外的apache配置文件目录,这个目录里的文件会经常访问修改:如httpd-vhosts.conf
├── httpd.conf #apache的主配置文件,这个文件我们会经常访问修改,其中的每一行参数都应该弄清楚
APACHE扩展的配置文件
apache的扩展配置文件是通过在httpd.conf主配置文件中嵌入include命令实现的,不过默认情况下是注释状态。如下所示:
395 # Virtual hosts
396 #Include conf/extra/httpd-vhosts.conf
通过tree命令列出apache扩展的配置文件的在目录的配置文件
[root@Web-Lamp apache]# tree conf/extra
conf/extra
├── httpd-autoindex.conf
├── httpd-dav.conf
├── httpd-default.conf #这个文件里配置的是apache的相关服务参数,如:超时时间,保持连接时间等
├── httpd-info.conf
├── httpd-languages.conf #语言支持配置
├── httpd-manual.conf
├── httpd-mpm.conf #服务器池管理,也就是优化apache的一个配置文件,如:选择apache的模式连接数等,常用的模式有worker模式和profork模式,默认情况下是profork模式!
├── httpd-multilang-errordoc.conf
├── httpd-ssl.conf #提供apache SSL支持配置文件
├── httpd-userdir.conf
└── httpd-vhosts.conf #虚拟主机配置文件
APACHE虚拟主机的配置文件
[root@Web-Lamp apache]# grep -Ev "^#|^$" conf/extra/httpd-vhosts.conf
NameVirtualHost *:80
#这里表示使用基于名称的虚拟主机配置,这是生产环境下最常用的配置。*:80中的*表示监听本机所有IP地址,80表示在80端口上提供http服务。如果*改为具体IP,就表示监听本机指定IP地址的服务请求
<VirtualHost *:80> #定义一个虚拟主机,监听本机所有IP地址80端口上提供的http服务请求
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/application/apache2.2.31/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias
#这是配置虚拟机的别名,也就是可以配置多个域名访问同一个站点,如:此处配置成baidu.com,则输入baidu.com可以得到和同样的结果,此功能需要apache mode_alias模块支持
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/application/apache2.2.31/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
基于域名的虚拟主机实战配置
开启主配置文件httpd.cond中包含httpd-vhost.conf文件的配置: