我对PHP没有任何经验,所以我会给你我的Java(和Python)方面的意见。
对于Java:
你有一个非常常见且安全的选择:Tomcat。它是最活跃开发的服务器之一,是开源的,有来自其庞大社区的大量支持/帮助,从我所读到的(但未经过测试),它可以相当可扩展,并且还具有用于监视网站不同指标的非常成熟的控制台。
你还有其他选择,例如Caucho的Resin,他们有一个非常小但聪明的团队积极开发他们的Web服务器。他们的新心跳服务允许很好的可扩展性(再次根据我所读到的)。
然后你还有Google的App Engine,它专注于可扩展性。他们的API(服务器和客户端)已经开始专注于实时Web应用程序,因此创建高性能Web应用程序变得更加容易,无需担心通常需要对其他服务器进行的服务器相关优化。他们有用于在服务器和客户端之间创建“通道”的API,用于处理实时应用程序。App Engine团队还推出了新的MapReduce API,用于快速/高效地分析数据。基于这些原因以及个人意见认为他们是开创新的Web技术/标准,我个人倾向于使用App Engine。如果您保持CPU /数据使用率较低,它是免费的,但是如果您需要全面部署,则价格可能会昂贵,因此请进行研究。如果您的项目更多是为了娱乐/学校,其免费配额足够,并且所有开发工具/API都是免费的,因此非常适合。
对于Python:
我更擅长Java而不是Python,但Python绝对是一门很棒的语言,非常非常容易学习。我之所以推荐在这里考虑Python,是因为AppEngine也允许开发者选择Python。Python语言的作者/创造者现在也在AppEngine团队中,因此尽管Python和Java API基本上完全相同,但它们有时会为Python提供新的/更好的API。例如,我认为Python提供的数据存储API更加简单,并且针对Google数据存储进行了优化。此外,由于您将使用Python,因此可以在AppEngine中使用Django。
我最近了解到的第二个选择是Tornado Web服务器,它是由FriendFeed开发,然后被Facebook购买和使用。它也在积极开发中。但我提出这个问题的原因是,Tornado的重点与AppEngine类似,都是高性能和可扩展的Web应用程序。我没有使用过它,但我对其技术感兴趣,因为没有人可以否认Facebook需要一个非常高性能/可扩展的Web服务器。
最后几点想法:
一般来说,你会发现在大多数Web服务器(甚至是Asp.NET MVC)提供的API之上构建自己的协议并不是很困难。但是从我所能够测试的AppEngine来看,它真正专注于对其上面构建的协议类型的灵活性。对我而言,它几乎就像是一个基于HTTP工作的RPC服务器。如果你使用Python,这一点就更加明显了,因为有些语言结构使得这一点变得更加明显。