Apache的多个实例

我正在运行VPS,并有几个网站在1个Apache实例下提供服务。 与此问题是,我正在Django应用程序,这可能需要我重新启动Apache。 运行Apache的多个实例是否有任何问题,并且每个实例都服务于不同的站点? 这将允许我重新启动一个实例,而不会影响另一个实例。

除非有人有更好的主意?

谢谢!

编辑运行更轻量级的Web服务器来处理简单的HTML网站,而不是Apache?

只要您指向不同的日志并绑定到不同的IP /端口,那就完全没有问题了。 但显而易见的问题是,为什么你需要重新启动Apache?

要回答你的第二个问题:是的,nginx擅长提供静态的HTML文件,实际上,那里有一些使用nginx作为反向代理的部署,以减轻主Apache服务器的负担。

你应该尝试Django的工作,而不需要重新启动Apache。 大多数服务器端的环境在开发工作的时候都可以正常工作,而不需要一遍又一遍地停止和启动Web服务器。

但是,只要确保第二个服务器的configuration文件指向不同的资源,就可以运行任意数量的空间实例。 喜欢:

  • 端口,只要端口不同就可以使用相同的IP
  • 日志文件,这是一个大而不明显的。 Apache通常不通过sysloglogin,但直接打开它的日志文件
  • 可能会碰到其他一些事情,请查看httpd.conf中的每个选项

关于提供静态文件。 是的,你可以使用较轻的networking服务器来做到这一点。 但是,在你做出努力之前,一定要确保它对你有好处。 apache是​​否真的在其他地方使用你需要的资源? 也许只是configurationApache不启动相当多的subprocess。 确保增加的复杂function会为自己付出代价,因为在这个道路上,当他们试图弄清楚一切是如何工作的时候,几乎肯定会让人困惑。

你可以使用“apachectl graceful”(“httpd -k graceful”)刷新Apache的configuration。

从Apache的文档 :

正常地重新启动Apache httpd守护进程。 如果守护进程没有运行,则启动它。 这与正常重启的不同之处在于当前打开的连接不会中止。 副作用是旧的日志文件不会立即closures。 这意味着如果在日志轮转脚本中使用,则可能需要大量的延迟才能确保在处理旧日志文件之前closures旧日志文件。 这个命令在启动重启之前自动检查configtest中的configuration文件,以确保Apache不会死亡。 这相当于apachectl -k优雅。