在 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 重新加载配置。