我在django上运行5-6个网站.每个django项目都有自己的virtualenv,并提供单个网站.
我目前在virtualenv上安装了gunicorn,因此每个django项目都有自己的gunicorn安装和流程.
这种方法的优点和缺点是什么,以及安装gunicorn系统的替代方案,一个gunicorn安装管理所有网站(如标准的apache设置).
环境是在linode上运行Ubuntu 11.04的512mb VM.当然,我使用nginx代理对gunicorn的请求.
在我们的服务器上,我们有多达10种不同的django应用程序都在自己的virtualenv中运行自己的gunicorn.
我们使用一个管理程序系统来控制它们.
我们还有一个nginx进程,可以处理所有应用程序的所有流量(反向代理,服务静态媒体等).
我们决定使用这种方法,因为它似乎最安全,最容易设置和控制每个应用程序.使用主管自己启动/停止/重新加载每个应用程序,使我们能够更好地控制我们想要做的事情.它还使得添加更多应用程序变得非常容易,而不会影响机器上已有的应用程序.
它还允许我们以不同的用户身份运行每个应用程序,这样我们就可以更好地控制这些进程正在做什么,以及他们有什么访问权限,如果您需要担心安全性,这是很好的.如果这些都是您桌面下自己服务器上的所有应用程序,那么这对您来说可能不是问题.
如果你为一切运行一个版本的gunicorn,并且任何事情发生在那个gunicorn进程,那么它将影响你的所有应用程序,这是不理想的.它还限制了你可以做什么,如果你想在一个应用程序上运行eventlet,在另一个应用程序上运行并在另一个应用程序上同步,如果它们都是单独运行则更容易.此外,某些应用程序可能需要比其他应用程序更多的进程,如果它们是分开的,则更容易配置.
如果您执行apache方法,它可能会减少您的整体资源占用空间,因为您不必为每个应用程序运行相同进程的多个版本.如果你是资源限制,这对你来说可能是一个更大的交易,但现在内存和CPU是如此便宜,这不是一个问题.
这很大程度上取决于每个应用程序将获得多少流量.如果您根本没有获得任何流量,那么请执行最简单的设置和维护.如果你获得了大量的流量,或者计划获得大量的流量,那么你现在设置的东西,可能会在你超出当前设置后再次改变.
| 归档时间: |
|
| 查看次数: |
1701 次 |
| 最近记录: |