当前位置: 首页 > 面试题库 >

在生产中,Apache + mod_wsgi还是Nginx + mod_wsgi?

燕刚捷
2023-03-14
问题内容

中大型Python WSGI应用程序,Apache + mod_wsgi或Nginx + mod_wsgi使用什么?

哪种组合需要更多的内存和CPU时间?
哪一个更快?
哪一个比另一个稳定?

我也在考虑使用CherryPy的WSGI服务器,但听说它不太适合负载非常大的应用程序,您对此有什么了解?

注意 :我没有使用任何Python Web Framework,只是从头开始编写了整本书。
注意’ :也欢迎其他建议。


问题答案:

对于nginx / mod_wsgi,请确保您阅读:

http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-
of.html

由于nginx是下面的事件驱动系统,因此它的行为特征不利于阻止应用程序,例如基于WSGI的应用程序就是这种情况。更糟糕的情况是,使用多进程nginx配置,即使某些nginx工作进程可能处于空闲状态,您也可以看到用户请求被阻止。Apache
/ mod_wsgi不存在此问题,因为Apache进程仅在具有实际处理请求的资源时才接受请求。因此,Apache /
mod_wsgi将提供更多可预测和可靠的行为。



 类似资料:
  • 如果你使用 Apache web 服务器,请考虑使用 mod_wsgi 。 注意 请确保在任何 app.run() 调用之前,你应该把应用文件放在一个 if __name__ == `__main__`: 块中或移动到独立的文件。只确保它没被调用是 因为这总是会启动一个本地的 WSGI 服务器,而当我们使用 mod_wsgi 部署应用 时并不想让它出现。 安装 mod_wsgi 如果你还没有安装过

  • If you are using the Apache webserver you should consider using mod_wsgi. Installing mod_wsgi If you don’t have mod_wsgi installed yet you have to either install it using a package manager or compile

  • 我试图配置Apache来运行我的sample Flask应用程序,但遇到了一个无法解决的问题。以下是我遵循的步骤(均为root用户,以避免任何权限问题): 在CentOS上安装了httpd(yum install httpd) 使用pip安装mod\u wsgi(yum install mod\u wsgi) 在/var/www/FlaskApp/ VirtualEnv内安装的烧瓶(pip安装烧瓶

  • 我正在尝试部署我构建的用于部署在Apache服务器上的Flask Web应用程序。我在Raspberry Pi 3上使用Raspbian(Jessie)OS。该应用程序在flask内置的开发Web服务器上运行完美,但我无法在Apache服务器上部署它。 这就是我所做的: conf文件为:etc/apach2/sites available/arduinoweb。形态: 中的WSGI脚本文件: Ap

  • 问题内容: 我已经安装了Apache服务器,并且正在通过mod_wsgi处理Flask响应。我已经通过别名注册了WSGI脚本: [httpd.conf] 我在上面的路径中添加了相应的WSGI文件: [/mnt/www/wsgi-scripts/service.wsgi] 我有一个简单的Flask Python测试脚本,提供了服务模块: [/mnt/www/wsgi-scripts/service.

  • 问题内容: 我已经运行了一个基本的“ hello world” Flask应用程序。 我在使用Apache 2.4的Ubuntu 14.04上。我已经安装了mod_wsgi。 我创建了一个以容纳安装了flask的virtualenv创建的Python2。 但是,我希望我的flaskapp导入我编写的Python3.x模块。 我需要怎么做才能做到这一点? 我尝试创建一个并修改 但是我认为这还不够。这