Apache2 无法读取我的配置文件

Apache2 无法读取我的配置文件

我习惯使用 apache2,通常可以轻松运行它。然而这次我遇到了一个无法摆脱的问题。

在本地,我通常使用 nginx,但我需要对文件进行修改.htaccess。所以我安装了 apache2。Apache2 和 nginx 都使用端口 80,但我暂时禁用了 nginx。

我创建了我的虚拟主机文件/etc/apache2/sites-available/,它看起来像这样:

<VirtualHost *:80>
    ServerName dev-my-site.apache
    ServerAdmin [email protected]

    DocumentRoot /var/www/html/my-site
</VirtualHost>

基本,但应该够用了,对吧?相应的文件中有一个符号链接/etc/apache2/sites-enabled/指向此 conf 文件。我重新启动了 apache 并将以下条目添加到/etc/hosts

127.0.0.1  dev-my-site.apache

我期望从这里http://dev-my-site.apache指向,/var/www/html/my-site/但它没有。它指向的/var/www/html/是 apache2 的默认文档根目录,并显示index.html位于那里的文件。

以下是的结果apache2ctl -S,它应该列出虚拟主机:

VirtualHost configuration:
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl 
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used

似乎我的虚拟主机根本没有被考虑在内。我做错了什么?

答案1

当我找到答案时,我意识到这个问题是重复

简而言之:nginx 不需要其配置文件使用特定的扩展,但 apache 需要。

忘记给conf文件添加扩展名*.conf,导致该文件无法被apache识别。

感谢 Henning Kockerbeck,他为我指明了正确的方向。

相关内容