我不得不更换我的服务器,旧的运行 CentOS,新的运行 Debian。
在 Debian 中,Apache 将apache2.conf
其作为主要配置文件,并有许多其他配置文件与之链接。在 CentOS 中,Apache 只有一个配置文件,httpd.conf
.
问题:我可以httpd.conf
在新服务器中使用旧文件吗?如果可以,如何确保httpd.conf
设置优先于现有配置文件?
Ubuntu Apache上的帖子:httpd.conf 还是 apache2.conf?表示在更新的情况下不应更改现有配置文件。
我意识到可以放入我的自定义配置/etc/apache2/conf.d
,但是我不清楚该位置的其他配置文件是否会与之冲突。
基本上两者之间没有什么不同。您可以重命名旧的 httpd.conf 以完全替换 apache2.conf(建议您先备份 apache2.conf)。新的 apache2.conf 文件直接引用所有其他配置文件,因此将其替换为整体(单个)配置文件将完全将该结构覆盖回您习惯的结构。没有“新”设置覆盖“旧”设置的危险。
但
首先检查Apache的版本和所有模块是否相同。如果不是,您的配置可能与 Debian 二进制文件不兼容。
其次考虑这是否真的是你想要的。“新” apache.conf 旨在与更广泛的系统(例如 apt/dpkg)一起使用。例如,安装 Apache 模块也会自动为它们安装配置。
最佳实践
不要试图简单地包含您的旧文件。它很可能会失败。最好的办法是查看 Debian 是如何构建其配置的,然后处理您的旧配置文件并尝试将其切分以适应新结构。这确实意味着您需要了解配置文件中的所有内容(无论如何都不是坏事)。
除了 couling 的回答之外,如果您确实希望在 Debian 类型的发行版中添加自己的配置文件而不更改现有设置,这就是我设法做到的方式:
sudo a2ensite [name-of-your-file].conf
.sudo service apache2 reload
。上述过程将一个符号链接文件放在 /etc/apache2/sites-enabled 位置。要覆盖默认服务器设置,请删除名为 000-default.conf 的现有文件(您应该先获取该文件的副本)。