选择Web服务器软件来运行PHP

时间:2010-02-28 21:20:28

标签: php apache fastcgi

我一直在重构一些运行在我网络上的简单LAMP盒子上的代码。我注意到除了可以说它是一个LAMP设置之外,没有任何特殊原因我们使用Apache。

我听说过其他一些选项(lighttpd,nginx等),并且想知道使用这些选项会比使用Apache提供什么好处。我现在正在Apache 2上通过FastCGI运行PHP 5.2。另一个平台会提供更好的性能吗设置或维护是或多或少都是一个问题?可靠性会受到影响吗?

我认为这是一个纯粹假设的问题;我真的不打算改变服务器的平台,我只是好奇为什么人们可以选择其他应用程序而不是Apache。

提前致谢

4 个答案:

答案 0 :(得分:2)

有很多理由说明为什么一个人会选择一个给定的平台而不是另一个。作为一个apache用户,我喜欢在linux下部署和管理非常容易。它拥有庞大的用户群和出色的文档(第一方和第三方)。

Lighttpd是为了提高速度。看起来它现在支持PHP,但它最初设计并且(可能仍然)最好用于以非常快的速度提供静态内容。

如果你是一个微软的人,IIS看起来真的很吸引人。

我从未使用过nginx。

希望有所帮助。

答案 1 :(得分:1)

PHP的嘻哈


因为这纯粹是假设的,你真的没有任何改变的意图......我会把这个答案推向你可以采取的另一个选择的方向。

看看HPHP。 PHP的嘻哈。读一读。 http://developers.facebook.com/news.php?story=358&blog=1

您可以从这里下载HipHop,然后将PHP脚本翻译并编译为优化的C ++代码:http://github.com/facebook/hiphop-php

什么是嘻哈?


基本上:它是一个PHP编译器,可以将PHP代码转换为C ++代码。然后使用类似g ++的东西,你可以将它编译为原生二进制文件。曾经用作LAMP堆栈的替代品,可以节省时间和CPU。

以下是海平的一句话(我认为他与斯科特和戴夫一起被认为是项目负责人。)

HipHop如何运作

  

该项目的主要挑战是   缩小PHP和C ++之间的差距。   PHP是一种脚本语言   动态,弱打字。 C ++是一个   使用静态类型编译语言。   虽然PHP允许你写神奇   动态功能,大多数PHP是   相对简单。它更多   可能你看是否(...){...}   别的{..}比看功能还要好   foo($ x){include $ x; }。这是哪里   我们获得了表现。每当   我们生成的代码可能使用   函数和静态绑定   变量。我们也使用类型推断   选择最具体的类型   因为我们的变量是可能的   节省记忆。

     

转型过程包括   三个主要步骤:

     
      
  • 我们收集的静态分析   谁宣布什么和谁的信息   依赖性,

  •   
  • 我们选择的类型推断   C ++之间最具体的类型   标量,字符串,数组,类,   对象和变体,以及

  •   
  • 代码生成最多   部分是直接的通信   PHP语句和C ++表达式   陈述和表达。

  •   

答案 2 :(得分:1)

尝试Zend Server CE(来自Zend的php堆栈,带有优化器和缓存以及一个漂亮的gui) 我很欣赏lighttpd它的线程系统,但它是一个带有php的nono。(线程安全模块是个不错的梦想。)。
并且nginx非常快,但它冒充我使用的语法(配置)。
lighttpd和nginx非常快,但我只会将它们用于静态内容 作为一名php开发人员,我真的推荐zend服务器用于dinamic内容,并使用lighttpd或nginx作为静态内容。
(P.S.我知道这是一个内联网的事情,但很高兴知道你让它们像posibble一样好运。),干杯。

答案 3 :(得分:0)

PHP在lighttpd下可以作为FASTCGI使用。