【发布时间】:2019-09-13 02:22:06
【问题描述】:
所以我们过去常常在生产环境中使用 Apache 运行 Pyramid 服务器。但是我们正在转向 Docker 容器化,以便更轻松地部署产品等,并且我们希望坚持“每个容器一个进程”的理念......所以我们只需要 1 个 python proc,而不是在容器中运行 Apache + 4 个 python proc。
所以我的问题是 - 有没有办法直接在生产环境中运行 Pyramid 服务器?不用WSGI+Apache?
我的理解是 pserve 仅用于开发?
创建一个application.py 文件并填写以下内容:
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
def hello_world(request):
return Response('<h1>Hello world!</h1>')
if __name__ == '__main__':
config = Configurator()
config.add_view(hello_world)
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 8080, app)
server.serve_forever()
以上是否可以作为生产级服务器使用?
【问题讨论】:
-
社区在Pyramid Community Cookbook中提供了很多部署示例。 Pyramid 与您在前端使用的 Web 服务器无关。也更正确地说,“金字塔服务器”不是一个东西。 “金字塔应用”是一个东西。您可能认为“pserve”中的“p”代表 Pyramid,但它代表 Paste。请参阅
pserve上的文档。 -
@StevePiercy 谢谢,所以问题试图解决 - 我们的目标是运行一个 python 进程......所以金字塔有 api 绑定等,我们想启动一个 python 服务器而不是“in前面”,而是作为单个 python 进程。现在好像有“本机 python 服务器”可用,而过去更常见的是在 python 前面使用 apache 或 nginx。
-
@StevePiercy 我更新了 OP..您是否碰巧知道 (a) 这是否代表生产级服务器以及 (b) 它是否将所有内容作为单个进程运行?还是会将金字塔应用程序作为子进程启动?
标签: python apache pyramid wsgi amazon-ecs