我有兴趣根据下一个参数使用apache http服务器:
我对内存消耗有疑问,如果有的话,我应该如何改进它。
一旦只有一台http服务器在运行,我认为这不会是内存问题(如果我错了,请纠正我)?
或者也许是因为每个实例都包含独立的内存?
应该与主apache配置文件中运行所有VirtuallHosts的内存消耗相同吗?
非常感谢,我主要想为每个域运行一个实例,因为我希望能够在需要时重新启动每个VirtualHost配置而无需重新启动其他配置。
感谢名单
答案 0 :(得分:2)
首先,如果他们都在监听端口80,我认为你不能运行多个apache实例。只有一个进程可以绑定端口。
Apache将有几个子进程,进程的所有子进程在端口80上进行listenign,但每个子进程都可以用于任何VirtualHost。
您可以通过在端口80上绑定不同的IP来实现它,因此具有基于IP的VirtualHosts 。或者使用一个Apache作为其他端口上绑定的其他Apache实例的代理。
但重启问题不是一个真正的问题。 Apache可以执行安全重启(在某些发行版上重新加载),其中每个子进程在其正在运行的作业结束后重新加载。所以这是一个透明重启,没有任何HTTP请求被杀死。添加或删除VirtualHost不需要重新启动,需要进行简单的重新加载。
答案 1 :(得分:0)
我必须认为,有些方法可以在没有个别情况的情况下实现您的目标。严重的大型虚拟主机公司使用apache,我很难相信你的需求比他们的需求更复杂。示例:http://httpd.apache.org/docs/2.0/vhosts/mass.html
也许您应该运行两个apache服务器,以便在真正需要时进行滚动重启,这样可以防止任何单个站点崩溃。