您正在尝试将Django Web应用程序部署到Internet。 您以前从未做过此事,因此请遵循这样的指南。 该指南为您提供了许多说明,其中包括安装和配置“ NGINX反向代理”。 在某个时候,你喃喃自语:
什么是NGINX? 恩,随便吧,让我们继续阅读。
您必须将一些奇怪的gobbledygook复制粘贴到文件中,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
server { listen 80; server_name foo.com; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect http://127.0.0.1:8000 http://foo.com; } location /static/ { root /home/myuser/myproject; } } |
这些东西到底是什么? 应该怎么办?
大多数人将第一次Django部署作为学习练习。 您想了解自己在做什么,以便在遇到困难时可以解决问题,因此以后无需依赖指南。 在本文中,我将分解该NGINX配置的元素及其与Django的联系,以便您将来可以放心地对其进行调试,更新和扩展。
这个文件应该达到什么目的?
这个看起来很吓人的配置文件设置了NGINX,使其充当Django应用程序的入口点。 解释为什么您可能会选择使用NGINX是一个太过广泛的话题,因此,我将继续解释它的工作原理。
NGINX是与Django应用完全独立的程序。 它运行在自己的进程中,而Django运行在WSGI服务器进程(例如Gunicorn)中。 在这篇文章中,我有时会交替使用Gunicorn和Django。
原文:https://mattsegal.dev/nginx-django-reverse-proxy-config.html