2014-02-25 50 views
1

这是我第一次使用Django(以及Python),所以在将我的网站部署到Web服务器时我有点困惑。我已经完成了本地开发,现在是时候将我的网站放到生产服务器上。 我有Webuzo CPanel的专用服务器(Red Hat 4.4.4-13 OS),它说我已经安装了Python(v 2.7),Django(1.6.1)和Apache(2.4.4)。如何将django部署到专用的Web服务器?

当然,我有root权限,所以我登录到我的服务器,并试图检查是否安装Django的,但这个命令

>>>import django 

给了我这个错误:

importerror: No module named django. 

(虽然Webuzo控制面板说,我已经安装了Django)。

之后,我设法使用pip安装Django。所以,现在,我已经安装了Python和Django(1.6.2)。

我的下一步是使生产服务器上一个新的Django项目只是为了检查是否会工作,所以我在我的public_html文件夹中创建新的目录,并运行此命令有:

>>> django-admin.py startproject test 
# python manage.py runserver 

和Django的给了我这个消息:

Validating models... 
0 errors found 
February 26, 2014 - 00:15:48 
Django version 1.6.2, using settings 'test.settings' 
Starting development server at http://127.0.0.1:8000/ 
Quit the server with CONTROL-C. 

,我已经试图通过Web浏览器来访问的位置,但一切都没有发生(事实上,我只带了网络文件夹结构)。 PS我试图将localhost更改为我的服务器的IP地址和端口:80,但这给了我一个端口已被使用的错误。

我已阅读官方Django文档,拒绝部署网站到服务器,但我不知道我是否应该与mod_wsgi,mod_fcgi,mod_python和这样的事情混乱,因为,正如我所说,我已经有python和django安装在我的网络服务器上?

那么,我应该怎么做才能在我的web服务器上运行django?

UPDATE

OK,我已经安装mod_wsgi的,并将此向我​​的Apache(2.4.4)配置:

WSGIScriptAlias//home/****/public_html/*mysite.com*/testing/testing/wsgi.py 
WSGIPythonPath /home/****/public_html/*mysite.com* 

<Directory /home/****/public_html/*mysite.com*/testing> 
<Files wsgi.py> 
Order deny,allow 
Require all granted 
</Files> 
</Directory> 

这是我的文件夹结构:

/home/*****/public_html/mysite.rs: 
----------------------------------testing: 
-----------------------------------------manage.py 
             testing: 
-------------------------------------------------__init__.py settings.py urls.py wsgi.py 

当我访问mysite.com时仍然没有任何反应(mysite.com/testing/给我禁止)。难道我做错了什么? 我已经筋疲力尽,所以明天我会试试Heroku ...

+0

如果你已经阅读了文档,你会知道你应该从不**在生产中使用runserver,并且你需要使用wsgi。 –

+0

你需要对这个话题做更多的阅读。如果你在专用机器上,mod_wsgi应该是最容易安装的(mod_wsgi在使用共享主机时并不总是可能的) – pajton

+0

另外,要在使用runserve时访问该页面(虽然只是作为概念验证,从不在prod中)你应该指定地址为0.0.0.0来接受任何连接:'python manage.py runserver 0.0.0.0:8000'。由于使用它的另一个网络服务器,您可能会遇到使用80的问题。如果可用,您需要为root(sudo)分配它。 – olofom

回答

1

看看探戈的第16章使用Django和/或官方的文档:

但是,你似乎在这里失去了一些真正的基础,所以您可能需要考虑像Heroku这样的托管PaaS,以便您不必担心缩放/维护服务器,直到您熟悉这些细节。下面是关于如何Django的部署到Heroku的文档:,https://devcenter.heroku.com/articles/getting-started-with-django

你也应该使用版本控制系统,像Git和部署回购代码到目标生产主机,而不是开始在生产服务器上一个新的项目。

有许多好的书籍涵盖了Django的端到端。建议您搜索:https://www.google.com/search?q=python+django+book

+0

请不要推荐Django Book:它已经过时了,并且在内容页面上有啊告诫不要使用它。 –

+0

伟大的电话,对不起。删除了参考文献并链接到官方文档。 – Sologoub

0

一旦Django是使用Webuzo安装,必要的文件都位于这里: 基本路径/ usr /本地/应用/ python2 二进制/usr/local/apps/python2/bin/django-admin.py

您可以相应地找到其他文件。

0

作为a book I'm writing about TDD的一部分,我已经写了几个章节,它们将逐步介绍如何从头开始配置Web服务器,以便为Django Web应用程序提供服务。它包括:

  • 设置用户帐户和SSH密钥
  • 安装nginx的
  • 检查DNS工作
  • 创建的virtualenv
  • 设置数据库
  • 设置静态文件
  • 安装gunicorn
  • config for nginx virtualhost和gunicorn auto - 开始使用暴发户

http://chimera.labs.oreilly.com/books/1234000000754/ch08.html

然后下一章显示了如何使用自动布整个事情的例子。

http://chimera.labs.oreilly.com/books/1234000000754/ch09.html

还有的这一切是如何涉及到自动化测试的讨论公平一点,但如果你忽略这些位,应该有希望是一个很好的一步一步的指导,如何部署Django应用程序到一个网络服务器...

相关问题