据我在互联网上阅读 - 部署 Flask/Django 应用程序的最佳实践是将其放在诸如 nginx 之类的 Web 服务器后面,并将它们与诸如 gunicorn 或 uWSGI 之类的 pre-fork 服务器捆绑在一起。
这有很多原因,例如 ssl 终止、防止 HTTP 攻击 (nginx)、分叉到线程以实现并发、内存泄漏后重新启动应用程序或其他异常 (gunicron)。
我想使用pm2在sanic上部署一个内部 API 微服务,因为它不是面向客户的,而是只会从内部服务调用 SSH 终止和防止 HTTP 攻击是无关紧要的,并发性由 sanic 的 asyncio 性质和异常重启由 pm2 处理。
我还需要gunicorn和nginx吗?我不能按原样运行应用程序进程并让它直接与调用者对话吗?