你建议用php设置一个共享服务器

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了你建议用php设置一个共享服务器脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
从安全/性能的角度来看,您建议使用PHP设置共享服务器是什么

> apache mod_PHP(你如何保护它?除了safe_mode,因为它不会在PHP6中)
> Apache CGI suexec
> Lighttpd并为每个用户生成一个FastCGI

LE:我对使用已经制作的控制面板不感兴趣,因为我正在尝试编写自己的控制面板,所以我想知道自己设置这个的最佳方法是什么.
我正在考虑使用Lighttpd并为每个托管用户生成一个fastcgi,使得fcgi进程在他的凭据下运行(在lighttpd wiki上有一个教程).
这有点安全,但这会影响性能(每个fcgi所需的大量用户/内存),以至于它不是一个可行的解决方案吗?

就个人而言,虽然Lighttpd没问题,但如果您最终使用轻量级网络服务器FastCGI解决方案,我会选择使用Nginx FastCGI.我已经运行了基准并读取了所有代码,并且Nginx负载下速度更快/更稳定 – 这非常好.

但是,这不是你问的.从本质上讲,我会说你列出的三个选项中存在一系列安全性/可扩展性与速度权衡,你只需要决定你想要的位置.如果您是一个共享托管服务提供商,不安全的用户安装上帝知道什么程序,您将更倾向于安全性,如果这是在更受信任的用户之间共享,您可能倾向于性能.以下是我的想法:

CGI suexec:就共享托管环境中的用户/站点数量而言,这是迄今为止最安全,最高效/可扩展的.生成进程并仅在请求进入时使用内存.当然,CGI生成使得这对于单个脚本的执行时间来说是最慢的.慢多少?那么你必须进行基准测试,但一般来说,如果人们正在运行长时间运行的应用程序(例如wordpress需要0.25-0.5秒来加载它的库并在每个请求上初始化),那么CGI产生的惩罚开始看起来很漂亮在上下文中可忽略不计.

FastCGI:这里的问题(如果您的网络服务器是Apache,Lighttpd或Nginx并不重要)正在计算每个用户运行多少个FCGI子进程,因为每个进程占用的内存等于PHP解释器的大小(在Linux中并不是所有的都是有线的,但我离题了).并且,与mod_PHP不同,这些进程不会在用户之间共享,因此您必须限制每个用户.例如,DreAMHost为他们的客户限制为3 – 现在,对于运行网站的客户来说,每秒超过2-5次页面浏览的爆发,这实际上非常糟糕,因为这些请求只是堆叠而网站挂起.现在,当我在专用服务器/集群上运行应用程序时,我喜欢使用轻量级网络服务器的FastCGI,当我可以为应用程序提供数百个FCGI子项时(当然,所有这些都有webserver PRivs,例如Apache / prefork mod_PHP).但是,我不认为共享主机是有意义的,你需要为每个用户分配/限制FCGI子项.

Apache mod_PHP:由于所有内容都使用webserver privs,所以最不安全,但是你的实时PHP进程池是共享的,因此它在性能方面是最好的.从开发人员的角度来看,我无法容忍PHP_safe模式,从系统管理员的角度来看,它实际上只是一种安全幻觉(它可以减轻愚蠢的用户但不能止实际攻击)所以我真的宁愿拥有CGI,如果我的话其他选项必须包括safe_mode.

Dreamhost确实是一种混合体,它们认使用Apache CGI suexec,但是如果他们想要的话,让更多精明的用户中的(小)百分比选择做FCGI,受限于他们自己的内存使用量监控.这样可以节省大量内存资,而不是认为每个人启用FCGI.

一个问题是,如果你谈论的是标准的商业共享托管,Apache是​​功能齐全的,几乎可以有任何模块(包括你可能想要的mod_security之类的东西),你的用户会喜欢它,因为他们的所有.htaccess配置都能正常工作等等 – 当他们去安装Drupal或wordpress或其他什么时,你会遇到其他任何事情的支持头痛(如果我们谈论内部用户,那么问题就少了很多).

就个人而言,我建议保持简单的开始和使用CGI suexec以获得最佳安全性和可扩展性.如果你的用户想要FCGI或mod_PHP并且你有一个很好的渠道可以与他们建议/沟通,他们会要求它,但是对你来说这些都是一个更大的问题,只有他们的性能改善,所以我的建议最初不会做他们中的任何一个,但如果他们吵着要响应.

我同样喜欢做一些像Lighttpd FCGI那样“有趣”的东西而不是标准的Apache CGI suexec,但我内心深处我真的不能推荐它.

如果您正在运行多个服务器,您最终可能会将CGI放在某些服务器上以及其他服务器上的高级用户.并且一定要有cron grep所有的www dirs用于像旧版本的PHPBB这样的东西!

脚本宝典总结

以上是脚本宝典为你收集整理的你建议用php设置一个共享服务器全部内容,希望文章能够帮你解决你建议用php设置一个共享服务器所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。