RHEL 4 可以使用两个不同的配置文件运行两个 apache httpd 实例吗?

RHEL 4 可以使用两个不同的配置文件运行两个 apache httpd 实例吗?

我们有一个在默认端口上运行 Apache 的 Red Hat Enterprise Linux 4 实例。我们想添加第二个 Apache 实例,以便可以完全独立于第一个实例重新启动。我们可以这样做吗?

也许还有另一个易于维护的 Web 服务器可以在非标准端口上运行非常简单的 PHP 脚本?我们希望能够远程触发 php 脚本,而无需使用在 RHEL 服务器上运行的 Apache 默认实例。有什么想法吗?

答案1

在典型环境中,您可以创建 httpd.conf 的副本,然后在新文件上修改以下属性。

# pid 文件
Pid文件运行/httpd.pid

#http 监听端口
听 80

# 日志文件
ErrorLog 日志/error_log
CustomLog 日志/access_log 合并

# 服务器名称
服务器名称 默认主机名

# 默认站点的文档根目录
文件根目录“/var/www/html”

并且根据您的实施,您可能需要修改其他属性,例如 LockFile(如果您在 NFS 上运行)

和往常一样,如果您使用虚拟主机,则必须自定义虚拟主机定义。

控制新实例

例如,如果新复制的文件的名称是 /etc/httpd/conf/instance1.conf,那么您可以使用以下命令启动这个新实例

httpd -f /etc/httpd/conf/instance1.conf -k 启动

httpd 命令的另一个有用的选项是 -t 选项,用于测试配置文件中是否存在错误。

httpd -f /etc/httpd/conf/instance1.conf -t

有关如何使用 httpd 命令的更多信息,请参阅“man 8 httpd”。

正如其他人所暗示的,您应该创建一个单独的 init 脚本来帮助您管理此实例。 现有的 RH /etc/init.d/httpd 脚本应该作为起点。

答案2

是的,这很简单。基本上,您只需要在命令行上使用非默认配置文件启动第二个实例即可。如果您在网上搜索“apache 多个实例”,您应该会找到所需的内容。

答案3

创建 2 个 init 脚本,分别指向不同的配置文件(-f 选项)。记得创建 2 个不同的 pid 文件。

答案4

将 /etc/httpd 下的配置文件复制到另一个目录。修改它们,更改 httpd.conf 中的 ServerRoot、DocumentRoot 和其他路径相关变量。然后创建一个单独的初始化脚本,调用 httpd -f

相关内容