Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何部署中型Django应用程序_Django_Apache_Amazon Ec2_Web Hosting_Django Wsgi - Fatal编程技术网

如何部署中型Django应用程序

如何部署中型Django应用程序,django,apache,amazon-ec2,web-hosting,django-wsgi,Django,Apache,Amazon Ec2,Web Hosting,Django Wsgi,我刚完成我的Django应用程序。这几个月来,我一直在本地服务器上使用 python manage.py runserver 它运行在127.0.0.1上,只有我的电脑才能访问。现在我已经完成了我的应用程序,我希望它能够被全世界访问。我试着研究如何部署我的django应用程序,可能和我这种情况下的大多数人一样,我现在完全迷路了。“WSGI、AWS、WebFaction、域、Web托管、共享托管、服务器、VPS供应商、RackSpace、Apache2等”这些词都在我的脑海中飞舞 我看到的第一个

我刚完成我的Django应用程序。这几个月来,我一直在本地服务器上使用

python manage.py runserver
它运行在127.0.0.1上,只有我的电脑才能访问。现在我已经完成了我的应用程序,我希望它能够被全世界访问。我试着研究如何部署我的django应用程序,可能和我这种情况下的大多数人一样,我现在完全迷路了。“WSGI、AWS、WebFaction、域、Web托管、共享托管、服务器、VPS供应商、RackSpace、Apache2等”这些词都在我的脑海中飞舞

我看到的第一个帖子是:

这篇文章说亚马逊EC2服务器很好,但建议改为WebPosition/Dreamhost。我决定选择亚马逊EC2,而不是WebFaction/DreamHost。我在谷歌上搜索了AmazonEC2,然后我发现自己正在阅读有关AWS和VPS供应商(如RackSpace)的比较。然后我同意使用AmazonEC2而不是RackSpace。然后我想,我到底从哪里买域名?我知道goDaddy在主持domians方面非常受欢迎,所以我调查了一下,发现goDaddy不支持Django。我在谷歌上搜索了哪些网站托管公司支持Django,然后又遇到了Webpartion。等等,我用WebPosition注册域名,用Amazon托管网站?我看了一下WebFaction的价格,他们给出了带宽、磁盘空间、服务器位置等的价格。我在谷歌上搜索了AWS的价格,他们谈论了完全相同的事情:服务器位置、空间等。在这一点上,我甚至不知道WebFaction和AWS是否完成了相同的事情,我是否应该选择其中之一,或者如果Web派系只是为了托管服务器的域和AWS?然后我决定研究服务器,希望看到一篇关于Amazon服务器如何工作以及它们与域托管站点的关系的帖子。相反,我发现自己正在阅读有关Apache的文章。嗯,那么Apache现在是另一种选择了?我搜索了Apache服务器和AWS之间的关系,发现我可以在AWS上设置Apache?那么,我需要Web派系、AWS和Apache来部署我的Django应用程序吗

我试着做更多关于部署Django应用程序的研究,发现了一篇关于WSGI的帖子。似乎我做的研究越多,我就越困惑。这就是我需要你帮助的地方:

Django应用程序基本上是一个“博客”网站,它允许用户创建帐户、上传图像、评论和类似的图像、跟踪其他用户、发表文章(只包含文本和图像)、评论文章和类似的文章

Django应用程序面向大约1500名用户(我估计前两个月大约有1500名用户)。该应用程序也将发布在Android和iPhone应用商店上(通过WebView)。我的hostOS是windows8,但我下载了一个VM(运行Lubuntu),并使用Django 1.5、python2.7在Lubuntu中完成了所有Django工作,还必须安装PIL和Pillow。我使用了PostgreSQL数据库。有了这些细节,我该如何主持我的网站

我不想说“我应该使用哪些服务器”,因为有些人会说“Amazon”,有些人会说“DreamHost”,有些人可能会说“购买一个域,然后使用Amazon”,有些人甚至会开始谈论WSGI和Apache,这让我很困惑

我需要采取哪些步骤来托管我的1500用户应用程序?一旦应用程序达到1500个用户并开始超过这个数字,那么我会考虑切换到更大的服务器,但是对于前1500个用户,我应该在哪里购买域名并托管站点?该网站需要在未来3周内上线(因此,如果强烈推荐VPS供应商或Amazon EC2,我可以拿出整整一周的时间来了解它们)。我只是想知道是否有更推荐、更简单的解决方案,而不是直接跳进VPS供应商或购买域名并使用AmazonEC2服务器


编辑:这应该改为ServerFault吗?

这里有几个层是大家都需要的,但一开始可能会让人困惑。要在生产环境中设置Django站点,您需要:

  • 服务器硬件
  • 网络服务器软件
  • Python连接器(WSGI)
  • 已使用DNS记录注册域名
托管服务允许您访问服务器硬件。租用物理服务器或物理服务器上的虚拟环境。大多数托管平台包括域名注册和管理DNS记录,但有些可能要求您在其他地方寻求这些服务

为了让服务器在收到请求时实际提供http响应,它必须运行一个Web服务器进程。Apache和Nginx就是这样的Web服务器。WSGI是允许Web服务器与Python应用程序通信的标准。为了连接到Django应用程序,您需要实现此功能。一些选择是gunicorn、uWSGI和Apache的mod_wsgi


有了这些信息,您应该能够理解大多数解释如何部署Django应用程序的文章。除了关于WSGI的部分之外,所有内容都适用于任何其他网站,而不仅仅是Django

它会帮助你的。查看部分:“我已经构建了一个Python web应用程序。我需要部署它。”针对我的情况(一个在头两个月将接收1500名用户的应用程序,它允许用户上传图像。我使用Lubuntu、Django 1.5和Python 2.7开发了该应用程序,还必须安装Pillow和PIL),你会推荐我使用Web派系或亚马逊服务器硬件吗?@user2719875我真的不知道-任何一个都可以。但这个问题超出了StackOverflow的范围。