Python Django(runserver的替代品)

Python Django(runserver的替代品),python,django,deployment,webserver,localhost,Python,Django,Deployment,Webserver,Localhost,我试图弄清楚如何部署django网站,而不必在命令提示符下使用“run server”方法。该公司大约有30人将在内部使用它,但文档中指出,runserver仅用于开发目的,不用于生产 我已经看过了MAMP、Apache、FastCGI等。我发现自己质疑它需要多少工作,以及它是否会被推荐。我的网一点也不漂亮。A多个文件、链接、Python脚本等 我觉得其他的stack帖子没有很好地表达他们关于django的基本“部署方法”的问题,因为django传播了各种各样的答案 所以我的问题很具体:“最好推

我试图弄清楚如何部署django网站,而不必在命令提示符下使用“run server”方法。该公司大约有30人将在内部使用它,但文档中指出,runserver仅用于开发目的,不用于生产

我已经看过了MAMP、Apache、FastCGI等。我发现自己质疑它需要多少工作,以及它是否会被推荐。我的网一点也不漂亮。A多个文件、链接、Python脚本等

我觉得其他的stack帖子没有很好地表达他们关于django的基本“部署方法”的问题,因为django传播了各种各样的答案

所以我的问题很具体:“最好推荐哪个免费的内部web服务器应用程序来处理django框架,该框架面临大约30个用户的流量,而不使用命令提示符上的runserver方法?”


让我知道如何修改此问题以便更好地讨论

警告:我知道OP不想使用
runserver
,我有意建议他应该使用,因为扩展还不是问题,也没有理由因为其他原因引入其他依赖项

回答 不使用runserver是一个取决于规模的选择。所说的一切(包括django文档警告不要在生产中使用
runserver
),您的情况实际上并没有进行生产设置。Django的runserver已经相当不错了,通常可以处理您想要的负载,如果不能,那么其他容器不太可能在这方面帮助您(很可能您的代码有缺陷)


您需要的是不允许特定主机以外的主机:比如说机器的主机名,或者仅仅是IP。您应该进行适当的设置。

警告:我知道OP不想使用
runserver
,我有意建议他应该这样做,因为缩放还不是问题,也没有理由出于其他原因引入其他依赖项

回答 不使用runserver是一个取决于规模的选择。所说的一切(包括django文档警告不要在生产中使用
runserver
),您的情况实际上并没有进行生产设置。Django的runserver已经相当不错了,通常可以处理您想要的负载,如果不能,那么其他容器不太可能在这方面帮助您(很可能您的代码有缺陷)


您需要的是不允许特定主机以外的主机:比如说机器的主机名,或者仅仅是IP。您应该进行适当的设置。

uWSGI+nginx在本地服务器上的设置时间应该不到一个小时。您所说的内部web服务器应用程序是什么意思?您需要限制对本地intranet的访问吗?是的,我需要。除了公司内部的人,我不想让其他人访问它。我喜欢nginx和gunicorn。有很多关于如何设置的文章。但您可能首先尝试使用runserver,因为您的用户基数很小(请参见下文)。如果出现问题,请继续在本地服务器上安装.uWSGI+nginx,安装时间应不到一个小时。内部web服务器应用程序是什么意思?您需要限制对本地intranet的访问吗?是的,我需要。除了公司内部的人,我不想让其他人访问它。我喜欢nginx和gunicorn。有很多关于如何设置的文章。但您可能首先尝试使用runserver,因为您的用户基数很小(请参见下文)。如果它给你带来问题,请继续。允许的主机不会限制客户端访问应用程序,这正是他所需要的。公平点,@JohnGordon。但问题不在于安全性或权限。我希望OP会知道涉及的安全问题,我也希望OPs应用程序是通过安全通道进行身份验证的应用程序。注意:
runserver
是单线程、单处理的,因此XHR可以在没有任何指示的情况下失败。可接受的答案是相当懒惰的。设置gunicorn非常简单,只需很少的成本就可以避免许多问题(如XHR)。如果涉及大型静态资产,性能也很差。允许的\u主机不会限制客户端访问应用程序,这正是他所需要的。公平点,@JohnGordon。但问题不在于安全性或权限。我希望OP会知道涉及的安全问题,我也希望OPs应用程序是通过安全通道进行身份验证的应用程序。注意:
runserver
是单线程、单处理的,因此XHR可以在没有任何指示的情况下失败。可接受的答案是相当懒惰的。设置gunicorn非常简单,只需很少的成本就可以避免许多问题(如XHR)。如果涉及大型静态资产,则性能也很差。