2016-02-25 74 views
1

对于这一点,我刚刚创建,并在我的本地打我的Django的服务器,比如建立一个基本的服务器Linux发行版我的另一台设备上测试等我是否真的需要为Django使用服务器应用程序?

不过,我也听说过服务器应用程序,如apache2nginx 。我想知道的是:我真的需要在生产中使用其中之一吗?我想购买(或租用)VPS服务,然后在该服务器上部署(或发布?)我的项目。我脑海中的问题是:

  • 运行服务器与manage.py runserver 0.0.0.0:80意味着它不会使我的应用程序在世界范围内?一个服务器应用程序(或不管它是什么)使得它可以在外面访问?
  • 服务器应用程序只是为了获得更好的性能,优化等。

简而言之,为什么我需要使用apache2nginx来部署我的项目?

回答

0

这是一个很长的故事。在几句话:

  1. 运行在本地主机上项目肯定不会让全球IT访问,因为至少你需要一个公网地址为您的服务器,但不是本地的。
  2. 坦率地说,使用django内置服务器在专业版中运行网站并不是问题。但是,正如您可以在docs中看到的,强烈建议不要这样做。为什么?因为它是专门为测试开发的。它是用python编写的(对于Web服务器来说足够慢)并且不适合处理多个查询到服务器,它只会是一个时间问题。当然,还有很多其他原因,如缓存和访问设置,重定向等。
+0

是的。但是有一个误解:我想说的是,如果一个服务器应用程序使全局访问项目成为可能。我不确定Django自己的runserver是否能够打开它。我想知道是否我已经购买了VPS,并且没有安装服务器应用程序,即使我有公共IP地址,我也会无法访问。不过,你的第二点让我明白了一点。 –

+1

当然,可以在不使用apache或nginx而只使用内置服务器的情况下运行django项目。 – chem1st

+2

响应号码小号挑选1:使用'runserver 0.0.0.0:80'将打开服务器以侦听所有可用地址,而不是本地主机。因此,只要机器具有公开列出的IP地址,那么'runserver 0.0.0.0:80'确实会公开可用。 – Joseph

相关问题