2014-02-25 52 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應用程序到一個網絡服務器...

相關問題