自己嘗試在本地搭建了 Django 項目后,想部署到自己云服務器上,經常多次嘗試和多次踩坑(捂臉),總結如下:
環境:ubuntu14, django2.0, apache2。
1.首先安裝需要的庫包,在 ubuntu 下執行如下指令,為了能順利安裝建議使用 root 用戶登錄 Ubuntu 或在 apt-get 前加上 sudo :
安裝 Apache2
apt-get update #獲取更新列表apt-get install apache2 #安裝 Apache2apt-get install libapache2-mod-wsgi-py3 #讓 Apache2識別 Python 程序的請求,安裝 mod-wsgi模塊
確認安裝的 Apache2 版本號
apachectl -v
安裝和配置 Git(這是為了從遠程文檔庫中推送遠程倉庫到本地,如需上線的 Django 項目)
apt-get install gitgit config --global user.name 'yourname'git config --global user.email 'youremail'
安裝 Python 的 pip 組件管理程序和虛擬機環境程序 virtualenv
apt-get install python3-pippip3 install virtualenv
2.配置遠程的 Django 項目
Linux 操作系統中的 Apache 網頁服務器一般會把網頁放在 /var/www/html 中,(安裝 Apache2后便生成 /var/www 目錄),所以我們也將 Django 項目放在 /var/www 下。首先在 /var/www 下使用 virtualenv 創建虛擬環境并啟用,然后再使用 git clone 命令推送遠程 Django 項目分支到本地(這里以我自己的倉庫為例https://github.com/weixuqin/myDjango.git),操作如下:
cd /var/www #移動到 /var/www 目錄下virtualenv VENV #創建虛擬環境 VENVsource VENV/bin/activate #激活虛擬環境 VENVgit clone https://github.com/weixuqin/myDjango.git #克隆遠程倉庫到本地cd myDjango/mblog #移動到項目目錄pip install -r requirements.txt #安裝 requirements.txt文件中的庫包
接下來我們可以使用下列命令來啟動 Django 來訪問看看網站內容是否完整呈現。
python manage.py runserver 0:8000
3.修改settings.py,增加靜態文件等設置
正式上線的網站我們不能通過使用 python manage.py runserver 這樣的方式啟用。應該通過網頁服務器(如 Apache)把遠程瀏覽器的請求轉送到 Django 程序中執行,再把執行后的結果通過 Apache 傳回給瀏覽器。
主要涉及到兩個文件,setting.py 和 wsgi.py。setting.py 負責做 Django 網站的相關設置,而 wsgi.py 負責創建一個可以讓 Apache 順利轉交程序代碼以及返回執行結果的設置文件。
新聞熱點
疑難解答