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