a2ensite 是否需要用于 ServerAlias

a2ensite 是否需要用于 ServerAlias

在 Debian 上,在虚拟主机条目内的包含文件 [其中我有很多域] 中添加或删除 ServerAlias 条目后,是否需要使用 a2ensite 命令,还是我只需执行 apachectl graceful 即可?

<VirtualHost *:80>
ServerName sales.com
Include /etc/apache2/sites-available/sales.com-domainlist.txt
DocumentRoot /var/www/sales.com
<Directory /var/www/sales.com>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>

我只有在需要重新加载更新的配置文件时才重新启动 apache [在 centos 和 windows 上] 的经验。

答案1

a2ensite命令会创建从 sites-enabled 到 sites-available 的特定配置文件的符号链接。如果您已经启用了站点的配置并对其进行了修改,则无需再次启用它,只需使用graceful或即可reload

IE:

  • apache2.conf 文件包含 sites-enabled/*
  • 您可以在 sites-available/ 中创建一个特定于站点的配置文件
  • 当您运行时,a2ensite它会创建一个从 sites-enabled 到 sites-available 的文件符号链接,从而使 Apache 从 sites-enabled/* 包含中获取它。所做a2dissite的就是删除符号链接。

因此a2ensite实际上只是ln -s /etc/apache2/sites-available/sitename.conf /etc/apache2/sites-enabled/sitename.conf。因此,一旦完成,对已链接文件的更改不会影响链接,您只需要 Apache 重新加载配置。

相关内容