使用端口80上的runserver在没有Apache的情况下运行Django,并在LAN外部访问

时间:2015-06-05 15:51:21

标签: django apache

在调试模式下,我可以运行django web,可以通过公共(局域网内)访问:

python manage.py runserver 0.0.0.0:8000

那么,是否有可能直接在端口80(可能是域)上运行它,就像通常的webserver一样?如果是的话,这是一个坏主意吗?我的意思是,将apache与mod_wsgi一起使用是否更好?

4 个答案:

答案 0 :(得分:5)

它可能,但它是一个非常糟糕的主意,因为django附带的默认服务器不支持多处理等,并且仅用于开发。

作为documentation notes

  

现在是时候注意:不要在类似生产环境的任何地方使用此服务器。它仅用于开发时使用。 (我们的业务是制作Web框架,而不是Web服务器。)

至于网络服务器的选择,请查看django book,了解如何继续使用它。

答案 1 :(得分:4)

有可能。你可以这样做:

Yelp::Error::InvalidParameter - One or more parameters are invalid in request

这是否是一个坏主意,它可能取决于您的用例。一般来说,我建议使用例如apache或nginx用于长期运行的生产环境。它肯定会表现得更好。

答案 2 :(得分:1)

听起来像两个问题。

  1. 有可能吗? (请参阅@ ge​​ckon的回答)。
  2. 在生产中运行调试友好的轻量级开发服务器明智
  3. 但幸运的是,running Apache with mod_wsgi上有大量的官方文档,所以这不应该太难。

答案 3 :(得分:1)

如果您需要在使用类似的环境进行部署时更加轻松地调试问题,但仍然在端口80上运行,那么假设系统Apache已关闭,因此当时不使用端口80,那么看看mod_wsgi-express。

有关更好地将mod_wsgi-express与Django集成并将其用于调试的信息,请参阅: