这是我从未见过的事情,而且我没有在研究中发现,但我的老板对这个想法很感兴趣。我们正在寻找一些负载平衡选项,并且怀疑是否可以在多个服务器上安装apache和php,由负载均衡器管理,但在一台服务器上拥有所有实际的php代码,并且各种apache服务器指向一个中心代码库?从Apache的单独服务器上的PHP代码?
回答
例如NFS挂载当然是可能的,但我不会推荐它。负载平衡的许多优点都会丢失,并且您将重新引入单点故障。在同步代码时,rsync cronjob可以很好地处理自身,或者可以完成部署上的手动rsync。
什么原因你会希望这个中心的代码库?我大约有99%的人确信有一个更好的解决方案,然后一台服务器抛出代码。
我相信这是可能的。为了补充Wrikken的回答,我可以想象NFS可能是一个不错的选择。但是,有一些缺点和警告。首先,当Apache尝试访问已经消失的NFS共享文件(连接断开,主机失败等)非常差事情发生。 Apache锁定并继续尝试检索文件。无论出于何种原因,尝试访问共享的进程都不会死机,并且需要重新启动服务器。
如果风这样做,我会建议操作码缓存,如APC。 APC将在本地缓存预处理的php,并消除您的存储的往返行程。只要准备清除每当更新应用程序的操作码缓存/
根据我的经验,APC是一个很好的缓存,但是会检查文件的更新时间,因此在更新文件时不需要清除,如果文件不在那里,也同样会失败。或者我错过了一些APC设置? – Wrikken 2010-07-30 12:02:43
当然,apc.stat默认设置为1,不包含在默认的apc.ini文件中。如果设置为0,APC将不检查更新的php文件的日期,并保留预处理版本,直到操作码缓存被清除。性能增加设置为0是相当巨大的,顺便说一句。 – 2010-07-30 16:45:15
PHP有东西下运行充当网络处理器,Apache是最流行的。我已经完成跨服务器NFS挂载没有问题。如果NFS停机,网络就会停止运行。但是,跨服务器执行rsync复制文件并不需要很长时间,而且确实是一个更好的主意。
我不知道你的内容是什么样子,但使他们自己的服务器上,你可以单独像JavaScript,CSS静态文件和图像。 lighttpd是一个很好的,轻量级的Web服务器,用于这样的事情。然后你最终得到一个“专用”的PHP服务器。您甚至不需要此设置的负载平衡器。
请记住,PHP中的本地文件系统上存储会话。因此,如果您使用会话,则需要确保用户始终返回到同一台服务器。否则,你需要做一些事情,比如在memcache中存储会话。
- 1. 在单独的服务器上运行php代码
- 2. Subversion/Apache服务器的代码高亮
- 3. 从PHP/apache服务器代码收集自动错误
- 4. Apache服务器上的Php mkdir
- 5. 我怎么可以重写PHP的服务器代码的Apache代码?
- 6. 从React本机执行服务器上的PHP代码
- 7. 独立的Web服务器与Apache/IIS
- 8. 在单独的JavaScript文件中嵌入服务器端代码
- 9. 单独的服务器
- 10. 在Apache服务器上支持XAuth的PHP Twitter代理
- 11. Apache:运行在ubuntu 14.04上的Apache的python代码执行错误服务器
- 12. 从服务器代码
- 13. 错误“没有指定输入文件”,在服务器上更新服务器上的PHP版本从5.3.3到5.6代码服务器上的服务器
- 14. 使用Nginx代替Apache时,单独的MySQL服务器是否有意义?
- 15. 码头服务器运行php代码
- 16. Apache服务器Forbidden php
- 17. Apache v10.10.2上的Apache服务器本地主机显示输入我的PHP表单时的密码
- 18. 单独的代码
- 19. 单独的代码
- 20. 从java代码重新启动apache服务器?
- 21. 不断运行的C#代码 - 服务或单独的线程?
- 22. 如何从Apache服务器上的Apache SVN存档旧版本
- 23. 从单个PHP脚本中查看单独的代码
- 24. 服务器上的PHP源代码安全
- 25. 图像不会去服务器上的PhoneGap和PHP代码
- 26. 调试托管服务器上的PHP代码
- 27. 未在Ubuntu服务器上执行的PHP代码
- 28. 轨道彗星服务器上的PHP代码
- 29. 服务器的GPS代码
- 30. SSL Apache HTTP服务器上
甚至从版本控制系统结帐。 NFS并不是网络文件系统考虑的唯一选择。 – 2010-07-29 23:30:51
你说得对,一个NFS共享只是一个例子。 – Wrikken 2010-07-29 23:32:29