在 CentOS 中指定 Apache2 虚拟主机的位置

在 CentOS 中指定 Apache2 虚拟主机的位置

我习惯使用 Ubuntu,它有一个专门用于包含虚拟主机的文件。但我的印象是,在 CentOS 中,虚拟主机列在主配置文件中。

有人可以证实这一点吗?

编辑-尝试过这个,但没有用:

将其添加到 httpd.conf

<VirtualHost *:80>
       ServerName example.com
       ErrorLog /var/www/example_apache_errors.log
       DocumentRoot /var/www/html/example
       <Directory /var/www/html/example/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
       </Directory>
</VirtualHost>

没用。我创建的 /var/www/html/example/index.html 测试页面没有显示。相反,显示的是 /var/www/html/index.html 默认页面。

编辑:在任何人问之前,是的,我在每次配置更改后都会重新启动 apache。

编辑:

名称虚拟主机 *:80在配置文件中默认被注释掉,而我没有取消注释。我相信这就是问题所在。

但是我决定使用基于 ip 的,如下所示:

<VirtualHost 69.175.xxx.xxx:80>
  ServerName example.com
  ServerAlias www.example.com

  DocumentRoot /var/www/example/

# etc. etc.

</VirtualHost>

这很有效。我们有 5 个 IP,希望以后我可以使用此方法来分配其他 IP。

答案1

你知道你可以坚持这样的事情:

Include conf.d/*.conf
Include sites-enabled/*.conf

进入 /etc/httpd/conf/httpd.conf,运行“mkdir -p /etc/httpd/sites-enabled /etc/httpd/sites-available”并获得类似于 Apache 的 Ubuntu 目录结构,对吗?

更新(来自评论中的信息):

您还应该验证端口 80 的 NameVirtualHosts 是否已打开。

答案2

由于 Centos 有 ,Include conf.d/*.conf我将我的配置放在那里。但是我通常有一个conf.d/00_NameVirtualHost.confNameVirtualHost *:80我猜你没有在 apache 配置中设置它。

相关内容