Linux Centos关于httpd虚拟主机不生效的问题

使用的是腾讯云的centos7.6,httpd的版本是2.4.6

网上的各种方法都试过了,首先在httpd.conf中就没找到vhost的文件,于是尝试了在httpd.conf和conf目录下建立文件输入信息,如下

<VirtualHost *:80>
    DocumentRoot "/var/www/html/lovewall"
    ServerName lw.xxx.top
    ErrorLog logs/lovewall_log
    CustomLog logs/lovewall_log common
	<Directory "/var/www/html/lovewall">                 
        OPtions none                 
        Allowoverride none                 
        Require all granted                      
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "/var/www/html/personal"
    ServerName www.xxx.top
    ErrorLog logs/personal_log
    CustomLog logs/personal_log common
	<Directory "/var/www/html/personal">                 
        OPtions none                 
        Allowoverride none                 
        Require all granted                      
    </Directory>
</VirtualHost>

代码如上,xxx是我的域名,做了解析,但是一旦访问域名或者是直接连IP,都会直接到/var/www/html下面,也就是默认目录,无论如何都没法到达我设定的目录

 

另外的端口的虚拟主机也试过了,依旧不行。求帮助!!!

首先,我演示一下,不同端口的配置你看看,

img

虚拟主机配置:

<VirtualHost *:8080>
  ServerName localhost:8080
  DocumentRoot /var/www/html/lovewall
  CustomLog "logs/lovewall_log" combined
  <Directory /var/www/html/lovewall>
    Require all granted
    AllowOverride None
  </Directory>
</VirtualHost>

好了,如果配置80端口,虚拟主机配置是会覆盖了默认配置的。

img


所以,你要用基于名称的虚拟主机servername做区分,用一样的版本,你要知道虚拟主机文件是自己编辑的

img

img


所以,你排错的思路:
先明确配置文件是否正确,启动服务是否启动正常,端口是否侦听OK,
然后你可以先好像我这样,弄个本地hosts文件进行测试就知道 虚拟机主机是否生效,生效后,才改成你自己域名上的,再进行测试。
这样来排查