【问题标题】:Virtual Host config not working in Centos 8 Apache 2.4虚拟主机配置在 Centos 8 Apache 2.4 中不起作用
【发布时间】:2020-12-22 19:07:49
【问题描述】:

我以前从未遇到过这个问题,但是在这个全新安装的 CentOS 8 和 apache 2.4 中,我试图在 /etc/httpd/conf.d/ 的 vhost.conf 文件中添加新的虚拟主机,如下所示

<VirtualHost *:80>
ServerName db.example.com
ServerAlias db.example.com
DocumentRoot /usr/share/mysite

<Directory /usr/share/mysite>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>

</VirtualHost>

我测试了配置 #apachectl 配置测试

语法正常

但是当它出现在 conf.d 中时,服务器会抛出 HTTP 500 错误。当我删除此文件并重新启动服务器时,会显示欢迎页面。

我完全迷路了,请帮助

【问题讨论】:

  • error_log.txt 说明了什么?它位于 /var/log/httpd/
  • error_log 中没有此日志
  • 那访问日志呢?还可以尝试将文件 hello.txt 放在 /usr/share/mysite/ 中,然后请求 db.example.com/hello.txt - 如果仍然失败,请在访问和错误日​​志中查找文本 hello.txt。另外:您确定 apache 具有对 /usr/share/mysite 的读取权限吗?另外:这可能是一个 selinux 问题。尝试暂时禁用 selinux 看看是否能解决问题。

标签: apache http http-status-code-500 centos8


【解决方案1】:

在 /sites-available 上添加虚拟主机,在里面创建一个 site.conf 然后执行 a2ensite site.conf

按照本教程了解具体步骤

https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7

【讨论】:

  • 这让我觉得配置虚拟主机的方式极其复杂。我每个实例做一个企业站点,而不是常规托管,一直在 conf.d 文件夹中方便地做一个虚拟主机 conf 文件,并且所有这些都可以无缝工作。不知道那有什么问题。这是一种简单直接的方法。为什么我不能像以前那样做?
  • 跟着步骤走,它不是火箭科学,这就是你永远学习它的方式
  • 明白,但是我们已经制作了一个应用程序来部署和配置我们的应用程序,使用 conf.d 中的虚拟主机。自去年以来一直运行良好,我们需要在那里进行重大更改,这也会让我们付出代价
【解决方案2】:

这很伤心,但由于时间限制,我不得不搬回 CentOS 7。在那里使用了相同的配置,并且很有魅力。

在 centos 8 中,它正在读取配置,因为我在 .conf 文件中的路径中有拼写错误,apache 抛出了错误 (file not found) 。但是当它被纠正时,它再次抛出错误 500。

然后我不得不恢复到 centos 7 并且一切正常,我节省了很多时间。

【讨论】:

    猜你喜欢
    • 2017-04-16
    • 2017-05-30
    • 2013-07-31
    • 2015-04-10
    • 1970-01-01
    • 2018-05-09
    • 2014-02-07
    • 2014-12-28
    • 2011-05-04
    相关资源
    最近更新 更多