Python 索塔部署问题

Python 索塔部署问题,python,apache,deployment,apache2,pylons,Python,Apache,Deployment,Apache2,Pylons,我是一个外挂程序的初学者,我主要使用内置的web服务器在本地主机上进行开发。我想是时候开始部署我的个人博客了,我有一个Debian Lenny服务器,带有apache2 mpm prefork模块和mod_wsgi——我从来没有真正使用过mod_wsgi或fastcgi,我听说这两种方法都是可行的 我的问题是: 我应该使用mod_wsgi还是fastcgi以及为什么 我应该在哪里创建web应用程序?我应该为它创建一个全新的用户吗?我应该将其存储在/home/meder/web应用程序中吗?目前,

我是一个外挂程序的初学者,我主要使用内置的web服务器在本地主机上进行开发。我想是时候开始部署我的个人博客了,我有一个Debian Lenny服务器,带有
apache2 mpm prefork
模块和
mod_wsgi
——我从来没有真正使用过
mod_wsgi
fastcgi
,我听说这两种方法都是可行的

我的问题是:

  • 我应该使用
    mod_wsgi
    还是
    fastcgi
    以及为什么
  • 我应该在哪里创建web应用程序?我应该为它创建一个全新的用户吗?我应该将其存储在
    /home/meder/web应用程序中吗?目前,我的服务器上有一些php网站,它们位于我创建的目录
    /www/
    中。对于静态二进制文件(如图像)是否有类似于django的sorta gotcha
  • mod_wsgi。效率更高。FastCGI的安装可能会很麻烦,而我从来没有听说过任何人在使用mod_wsgi和受支持的Python版本(包括2.5、2.6、3.1)时会遇到问题。WSGI是为Python而存在的(由Python和c编写),因此它提供了更“Pythonic”的体验。在WSGI之前,我曾通过mod_代理后的粘贴服务小型挂架应用程序(由于fastcgi存在大量问题)

  • 任何地方都可以,任何用户都可以。如果您担心安全问题,您可能希望添加另一个用户。如果您愿意,您可以在/www/中创建一个主文件夹:)静态二进制文件、图像等,如果可以的话,应该单独提供,但Pylons有(实际上,我相信仍然有)一种提供这些文件的方法(这应该是“公共”文件夹)。我仍然会使用单独的挂载,因为Apache在服务这些挂载方面比通过挂载更有效


  • 好的,
    mod_wsgi
    多加1,这样看来我就不用FastCGI了。您是否曾经使用过nginx
    ?似乎有些人正在使用它和反向代理,尽管我不确定组合的好处是什么。出于某些原因,在Apache/mod_wsgi前面的nginx可以提供帮助,请参阅“”中的注释。Graham的链接解释了一些原因。nginx和我在它的早期走错了路,所以我从来没有真正回到过它。我相信简单的答案(正如我所听到的,正如Graham的帖子所肯定的)是,您可以缓存/压缩多个请求。当然,还有其他方法可以做到这一点,但这一种已经得到了很好的尝试和测试。基本上,您可以节省一些“浪费”的电量。因为您使用的是mpm prefork,所以请确保您读取了“”,从而确保如果使用mod_wsgi来使用守护程序模式。