2010-03-22 135 views
4

我很好奇...我正在寻找一个真正有效的安装程序,用于客户端的切片。我不是服务器方面的专家,所以我一直在寻找优秀的可靠资源来帮助我设置这个方案...向我推荐使用FastCGI for PHP,用于Django和Nginx的Green Unicorn(gunicorn)用于媒体是一件好事让PHP和Django在同一个片/服务器上运行。这是必需的,因为有一个主Django网站和管理员,但也有一个PHP论坛。PHP和Django:Nginx,FastCGI和绿色独角兽?

任何人都可以将我推向一些有用的资源,这将有助于我将其设置在我的切片上吗?或者至少,在这个特定的设置上的任何意见或评论?

+0

你不想做那个伴侣。你想要做的是在带有威士忌接口的mod_proxy设置后面运行Green Unicorn。 – Dan 2010-03-23 09:25:16

+0

什么是威士忌?我在网上找不到任何对它的引用 – 2011-03-31 10:24:25

回答

2

我认为一个解决办法是使用PHP的组合作为Apache模块或通过FastCGI的,并使用mod_proxy的Apache模块做一些反向代理来访问你的管理应用与gunicorn

运行时,您可以有一个设置,如:在端口80

  • 接待HTTP服务器的Apache:另一个端口www.host.com:80
  • 后端HTTP服务器gunicorn:other.host.com:8080或本地主机:8080的mod_proxy和URL像公共访问www.host.com/admin/
  • 媒体HTTP服务器:media.host.com,如果它必须在同一个系统上,您可以使用mod_proxy并在另一个TCP端口上运行NGINX服务器。

请注意,您应该无法获得NGINX作为隐藏在带有mod_proxy的apache后面的媒体服务器的最佳性能。

这部分设置依赖于在此片上拥有多个公有IP地址的可能性。

-1

对于PHP部分,考虑安装任何PHP加速器,如eAccelerator或任何other字节码缓存。
This是一个更一般的文章,但也可以为你interessting。
对于Django的一部分我不知道/经验。

+0

aa字节码缓存对于PHP来说并不是他的问题的解决方案,他想让php和django在同一个主机上工作。 – Benoit 2010-03-22 13:26:51

+0

引用这个问题:“我正在寻找一个非常高效的设置......”因此我会安装一个字节码缓存...... ;-) – TheHippo 2010-03-22 16:19:49

-1

我一直试图在nginx with WSGI module后面运行django。它运行良好,速度非常快。 你必须编译你自己的nginx,但它确实很无痛。

+0

这里的问题在于nginx wsgi模块与apache完全不同一。特别是,nginx是一个单一的进程服务器,所以如果wsgi应用程序阻塞,那么整个服务器就会阻塞它。它不受支持。如果你是格雷厄姆·杜姆普尔顿的谷歌,他的评论对于这个设置的问题很有启发。为了节省时间,我这样做了: http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-of.html 这就是为什么这个答案既不是最佳实践也不是回答这个问题。 – chiggsy 2010-09-04 00:02:13

1

我发现这个问题,几乎走下了自己使用绿色独角兽的道路。请注意,uWSGI似乎比Green Unicorn具有更好的性能,请参阅set of benchmarks here

Linode有一个great howto用于在Ubuntu上配置nginx的uWSGI(它也可以在Debian上正常工作)。

我现在正在使用这个设置,并且非常满意它。