Apache虚拟机的配置文件解说

时间:2021-07-12 09:39:14

1.为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件。
第一步首先要使扩展文件httpd-vhosts.conf生效:
1. 打开 apache/conf/httpd.conf 文件
2. 找到 # Include conf/extra/httpd-vhosts.conf(extra目录下任何一个你配置的vhost文件)
3. 去掉前面的注释符#号
4. 打开 apache/conf/extra/httpd-vhosts.conf
5. 添加以上的多端口或多域名代码(这里以多域名为例):
6. 打开apache2/conf/extra/httpd-vhost.conf
在里面添加入下:
示例:
<VirtualHost 192.168.1.1:80>
    ServerAdmin webmaster@163.com (你的邮箱)
    DocumentRoot /usr/local/apache2/htdocs/Joomla(此虚拟主机的根目录)
    ServerName www.abc.com(此处为域名)
    ErrorLog /usr/local/apache2/htdocs/abc/error_log (日志)
    TransferLog /usr/local/apache2/htdocs/abc/access_log (日志)
</VirtualHost>
<VirtualHost 192.168.1.1:80>
    ServerAdmin webmaster@163.com (你的邮箱)
    DocumentRoot /usr/local/apache2/htdocs/bbs (此虚拟主机的根目录)
    ServerName www.bbs.com (此处为域名)
    ErrorLog /usr/local/apache2/htdocs/bbs/error_log (日志)
    TransferLog /usr/local/apache2/htdocs/bbs/access_log (日志)
</VirtualHost>

此例子添加了一个www.abc.com的主机和一个www.bbs.com的虚拟主机。
注意:添加了虚拟主机之后必须重启apache服务。
如果是服务器的话,直接访问域名便可以访问相应的虚拟主机网站了。
如果是做测试环境(我的便是测试环境),可将真机的hosts文件修改,使得测试域名和服务器(虚拟机)ip地址关联,这样在真机访问域名,成光转到相应的虚拟主机网站的时候即成功。

2.vhost配置文件的属性含义:
`NameVirtualHost :80`:表示我们要做的是一个基于名称的虚拟主机,监听的端口为80.
`<VirtualHost *:80> 和 </VirtualHost>`:表示在其中的是一个虚拟主机的配置。注意如果上面的字段指定了端口号,这里也要指定
`ServerName www.example.com`:设置虚拟主机的域名
`ServerAdmin admin@mail.example.com`:设置该虚拟主机网管员的邮件
`DocumentRoot /var/www/`:设置该虚拟主机的主目录路径
`ErrorLog /var/log/apache2/error.log`:设置该虚拟主机的出错信息
`CustomLog /var/log/apache2/access.log combined`:设置该虚拟主机的访问信息
这样我们就配置了一个虚拟主机 www.firehare.com。但由于这是缺省配置,所以在 Apache2 重启之后,无论你输入 DNS 服务器中指向这个主机的任何域名,都会被导向www.firehare.com 这个缺省配置所指向的 /var/www 这个目录的。除非该域名被其他虚拟主机配置所用,比如我们还配置了 edunuke.firehare.com 指向本机,且配置了相应的虚拟主机,这样的话,输入域名 edunuke.firehare.com 就会被对应该域名的目录中。