2014-06-17 42 views
0

我希望你能幫助我。複製Django項目到根服務器不起作用

我一直在爲我與Django和Lightning Fast Shop合作的公司建立這家網店。

現在基本完成了,我一直在我的電腦上運行一個虛擬ubuntu機器。由於它煩人離開我的電腦整個時間,所以其他人可以訪問該網站,我想部署在根服務器上。所以我得到了一個JiffyBox並在其上安裝了Ubuntu。

我設法讓Gnome在它上面工作,並用VNC連接它。然後我通過FTP將完成的項目上傳到服務器。

現在我想我只需要下載Django-LFS,創建一個新項目並用我的完成項目替換項目文件。

這個工作,當我在我的虛擬機上測試它。

令我失望的是它並沒有在根服務器上工作。當我嘗試運行「bin/django runserver」時,出現錯誤消息「bash:bin/django:Permission denied」,當我用'sudo'嘗試時,得到「sudo:bin/django:command not found」

然後我意識到我已經下載了一個更新版本的Django-LFS,並嘗試使用相同的版本無濟於事。

我開始非常沮喪,如果有人能幫我解決我的問題,非常感激。

問候,Krytos。

+3

爲什麼在世界上都安裝軟件包你運行'bin/django runserver'?這有沒有爲你工作? – rnevius

回答

0

我不知道什麼是「根」服務器。但是您不要通過複製文件來部署Django:您需要配置Web服務器。該文件有一個非常comprehensive explanation

0

我知道一些這個技巧可能是明顯的,但沒有人知道:

  • 你更新settings.py中的所有設置? (靜態文件路徑,項目路徑...)
  • 您使用的服務器是多少? django服務器? apache? nginx?
  • 您是否擁有項目中所有文件的權限?您應該檢查文件的所有者是您擁有的用戶而不是根。如果所有者爲root,那麼您在root擁有的每個文件中都會出現此權限問題。
  • 你使用的是uwsgi嗎?
  • 您是否安裝了您在虛擬機中獲得的所有應用程序?
  • 您是否安裝了您在VM中獲得的相同版本?

當我擺脫VM到真實服務器,我去了這個步驟的項目:

  • 檢查設置。吡啶和更新路徑的文件夾中
  • 檢查權限Web服務器可以使用
  • 我有一個txt文件包和版本的列表,我們稱之爲packages.txt
  • 我安裝所有的包中使用pip install -r packages.txt
  • 我八方通使用Apache/nginx的,所以我必須更新虛擬主機新路徑
  • 如果我使用uwsgi,更新uwsgi設置

要降級一些PIP封裝你可能需要刪除egg文件,因爲如果您卸載軟件包並重新安裝它,儘管您使用pip install package==VERSION,如果您已經下載了軟件包,即使VERSION不同,pip也會安裝該軟件包。

要檢查PIP封裝的實際版本使用pip freeze

要將所有PIP包導出到文件,將其導入其它地方:pip freeze > packages.txt河畔從此文件pip install -r packages.txt

相關問題