我需要使用Apache或Nginx来托管服务器吗?

2 投票
3 回答
1299 浏览
提问于 2025-04-17 15:11

我需要使用NginX吗?还是可以不使用它也能托管我的项目?

我正在开发我的第一个Django项目,现在我可以通过以下命令来运行这个应用:

./manage.py run_gunicorn -c config/gunicorn

然后我可以通过访问以下地址来查看它:

http://127.0.0.1:8000/resources/

我现在想尝试托管这个项目,让其他电脑也能访问它。

3 个回答

0

你其实不需要前端代理;你可以直接在生产环境中使用像gunicorn这样的独立web服务器。不过,有很多原因让你可能还是想要使用前端web服务器

0

当然不是。你可以使用lighttpd或者其他任何支持WSGI、SCGI、FastCGI或AJP的网络服务器。你可以参考这个Python文档和这个Django文档,还有这两个在StackOverflow上的问题:Django最干净和最快的服务器设置关于Python的WSGI、CGI、FastCGI和mod_python之间的区别和用途,这些也可能会对你有帮助。

2

Gunicorn 是一个用来处理 HTTP 请求的服务器。最好把 Gunicorn 放在一个 HTTP 代理服务器后面使用。我们强烈建议你使用 nginx。

@ http://gunicorn.org/#deployment

虽然有很多 HTTP 代理可供选择,但我们还是强烈推荐使用 Nginx。如果你选择其他的代理服务器,你需要确保它能够处理慢速客户端的请求,特别是在使用默认的 Gunicorn 工作进程时。如果没有这种处理,Gunicorn 就很容易受到拒绝服务攻击。

@ http://docs.gunicorn.org/en/latest/deploy.html

撰写回答