在不使用proxy_pass的情况下用Nginx服务Django网站

1 投票
2 回答
904 浏览
提问于 2025-04-16 20:26

我已经配置好了nginx来运行我的django应用。我可以通过代理转发(proxy pass)来提供django网站,但我需要手动启动服务器,然后nginx才能提供这个网站。我想要的是,让nginx直接启动这个网站,而不需要通过代理转发,这样服务器就可以自动启动。请问有没有什么解决办法?

谢谢……

2 个回答

1

你没有说明你的操作系统,所以……我在Windows上把django部署在apache和nginx后,发现nginx要简单得多。不过,由于nginx更像是一个静态文件服务器,且代理能力很强,我为django应用运行了一个单独的wsgi服务器。在尝试了几个(发现它们都是只能在unix上用)之后,我发现CheryPy的wsgi服务器(可以独立于CherryPy的其他部分使用)运行得很好(而且速度也挺快的)。

3

我觉得这里的问题在于,你试图通过nginx来运行你的开发服务器;其实nginx并不是用来做这个的,它主要是用于开发阶段。

如果你想搭建一个生产环境的服务器,可以考虑以下几种方法:

如果正确使用,gunicorn和apache在生产环境中都非常稳定,这也是我的一些经验。

撰写回答