FastCGI是在nginx,lighttpd和Cherokee等web服务器上的Flask应用程序的另一个部署选项。
首先,您需要创建FastCGI服务器文件。让我们称之为yourapplication.fcgiC。
from flup.server.fcgi import WSGIServer
from yourapplication import app
if __name__ == "__main__":
WSGIServer(app).run()
nginx和旧版本的lighttpd需要显式传递套接字以与FastCGI服务器通信。
为此,您需要将套接字的路径传递到WSGIServer。
WSGIServer(application, bindAddress = "/path/to/fcgi.sock").run()
对于基本的Apache部署,您的.fcgi文件将出现在您的应用程序URL中。例如:example.com/yourapplication.fcgi/hello/。有几种方法可以配置您的应用程序,以使yourapplication.fcgi不会出现在URL中。
<VirtualHost *>
ServerName example.com
ScriptAlias / /path/to/yourapplication.fcgi/
</VirtualHost>
lighttpd的基本配置如下所示:
fastcgi.server = ("/yourapplication.fcgi" => ((
"socket" => "/tmp/yourapplication-fcgi.sock",
"bin-path" => "/var/www/yourapplication/yourapplication.fcgi",
"check-local" => "disable",
"max-procs" => 1
)))
alias.url = (
"/static/" => "/path/to/your/static"
)
url.rewrite-once = (
"^(/static($|/.*))$" => "$1",
"^(/.*)$" => "/yourapplication.fcgi$1"
)
请记住启用FastCGI,alias和rewrite模块。此配置将应用程序绑定到/yourapplication。
class RequestFactoryRequestFactory 与测试客户端共享相同的 API。 但是,RequestFactory 不能像浏览器那样运行,而是...
代码覆盖度表示有多少源代码被测试了。它表明了代码的哪些部分被测试用例覆盖,哪些没有。这是测试应用很重要的部分,所以强烈推...
到目前为止,本文档的重点是缓存您自己的数据。但是另一种类型的缓存也与Web开发相关:由“下游”缓存执行的缓存。这些系统甚至...
模型继承在 Django 中与普通类继承在 Python 中的工作方式几乎完全相同,但也仍应遵循本页开头的内容。这意味着其基类应该继承自...
JMenu类表示从菜单栏部署的下拉菜单组件。类声明以下是javax.swing.JMenu类的声明public class JMenu extends JMenuItemimplemen...
本教程阐明了 JUnit 中的方法执行过程,即哪一个方法首先被调用,哪一个方法在一个方法之后调用。以下为 JUnit 测试方法的 API,...