在Apache服务器上部署Django

6
我是一个新手,正在学习网站开发。我使用Windows环境进行开发,并在安装了Python 2.6.2的Linux服务器上部署。我使用Apache2.2作为虚拟主机,并且使用mod_wsgi。我计划从同一个虚拟主机提供媒体文件。
我有一个Django网站,现在准备开始部署。但我卡在这里了,每个网站看起来都过时/不完整/难以理解。

https://docs.djangoproject.com/en/1.3/howto/deployment/modwsgi/

http://www.djangobook.com/en/2.0/chapter12/

...只有2个链接,适合新手

顶部的链接似乎是我需要的,但我仍然对以下事情感到困惑:

  1. 服务器上的文件结构是什么样子的
    • 我自己无法更改/编辑服务器文件,我依靠dba完成此操作
    • 我有django.wsgi和django.wsgi〜,它们放在哪里?
    • 我的项目与这些wsgi文件相比应该放在哪里?

  2. httpd.conf文件是服务器上的文件吗?还是我需要创建另一个文件?

  3. 我需要以任何方式将django放在服务器上吗?如果需要,放在哪里?像registration、defaults这样的软件包呢?

再次抱歉我是新手,我已经为此努力了两周。任何帮助/链接都将不胜感激,除非它们将我链接到django-docs。我已经读过很多了!谢谢

4个回答

3
  1. 无论文件放在哪里都没关系,只需要对于运行Web服务器的用户可读/可执行即可。我不知道你所说的django.wsgi~是什么意思,这听起来像是你的编辑器创建的备份文件——你不需要它。

  2. 是的,httpd.conf 是 Apache 的配置文件。一些发行版(如 Debian 和 Ubuntu)将其拆分为每个站点运行的单独文件。如果你的管理员是唯一能编辑文件的人,他已经知道这些内容了。

  3. 是的,你需要 Django 和任何第三方包。


  1. django.wsgi~已经消失了。
  2. 我在服务器上有空间可以使用,我可以编辑这些文件。我需要添加所有项目文件和django.wsgi文件。但是,我无法访问mod_wsgi。我需要创建一个单独的文件并按照此处所述添加吗?https://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/
  3. 这些文件需要放在服务器上Python的安装目录中的站点包中,还是我需要将它们放在其他地方?如果需要,应该放在哪里?
- Nathan McAfee

3

非常感谢。这正是我一直在寻找的。 不过,有一件事我还不确定;我习惯于在本地机器上工作,而且django的每一部分都在python路径上。然后我需要将其放在运行我们内部网络的服务器上。那个服务器的python安装是否需要django和其他第三方包在site-packages目录中,还是我将其放在我的指定服务器空间上?如果是后者,我该如何将其指向python。再次感谢您的耐心和支持。 - Nathan McAfee
1
Apache将会从一个目录下运行你的代码,但是它会使用整个服务器上的python解释器。因此,只需安装Django和你的第三方包,它就会自己处理所有路径。 - Jordan
那么您的意思是它确实需要安装在服务器本身上吗?我问这个问题是因为我一直收到了许多不同的回复。我只通过FileZilla访问服务器。所以如果它需要在服务器上,我将不得不提出请求。但是,如果我可以通过FileZilla将其放在服务器上,我会这样做。谢谢。 - Nathan McAfee
1
去了解一下Python虚拟环境。使用它们来代替系统范围内的Python安装。http://code.google.com/p/modwsgi/wiki/VirtualEnvironments - Graham Dumpleton
在您的帖子的第二个链接中,我所需要做的就是查看您的幻灯片演示,它包含了我所需的一切。很抱歉我在第一次评论中太匆忙了。我浏览了幻灯片,认为您在谈论虚拟主机而不是虚拟环境。我相当有信心可以将其上线,只要我向管理员展示如何操作即可。 - Nathan McAfee

1

@Nathan

在你学习这个过程中,一个更简单的选择是不要有太多的开销。

我还可以建议你看看Heroku - 它可以让你在几分钟内轻松部署你的应用程序。

最近他们只支持RoR,现在他们已经引入了对Django和Python的支持 - 他们也有一些非常好的文档教程。

希望这可以帮助到你。

Heroku Django / Python tutorial


1
虽然我很感谢你的建议,但学习这个非常重要。 - Nathan McAfee
1
当然 - 几个月前,我写了一个小教程,因为我有同样的问题,想要了解更多更多更多...所以我将把这个教程粘贴在这里作为参考资料 - 它更详细地解释了httpd、mod_wsgi以及整个服务器设置等内容。- http://bit.ly/pQirM5 - ApPeL
谢谢。这是很多内容,看起来正是我需要的。 - Nathan McAfee
1
@Nathan - 太好了!如果你有任何问题,请随时在那里发表评论,我很乐意回答。 - ApPeL

1

我为Django应用程序编写了一个简单的部署指南,可以在这里找到。它从项目设置一直到部署都有详细说明。我还设置了参考文献。我真诚地相信它能回答你所有的问题,建议你好好看看。

祝你好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接