.php用什么服务器,你建议用什么建立一个与PHP共享服务器

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

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

CGI + suexec:就共享主机环境中的用户/站点数而言,这是迄今为止最安全,最高效/可伸缩的。生成进程并仅在请求进入时使用内存。当然,CGI生成时间对于单个脚本的执行时间来说是最慢的。慢多少?那么你将不得不进行基准测试,但通常如果人们运行的是长时间运行的应用程序(即像WordPress这样的东西只需要0.25-0.5秒来装载它的库并初始化每个请求),那么CGI产卵的惩罚开始看起来很漂亮在上下文中可忽略不计。

FastCGI:这里的问题(无论你的web服务器是Apache,Lighttpd还是Nginx)都在计算你让每个用户离开运行的FCGI子进程的数量,因为每个进程都会消耗相当于PHP解释器大小的内存(在Linux中并不是全部都是有线的,但我离题了)。而且,与mod_php不同,这些进程不会在用户之间共享,因此您必须限制每个用户。例如,Dreamhost为他们的客户设置了3,现在,对于运行一个网站的客户,每秒钟的浏览量超过2-5次,这实际上是非常糟糕的,因为这些请求只是堆积起来并且网站挂起。现在,当我在专用服务器/群集上运行应用程序时,我可以为应用程序提供数百个FCGI子项(当然,所有的Web服务器权限都在Apache/prefork + mod_php中),我喜欢FastCGI和轻量级Web服务器。但是,我不认为共享主机是必须的,因为您必须为每个用户分配/限制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 dir,像老版本的phpBB!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值