django 雲伺服器部署大致流程

2021-10-02 04:06:53 字數 2111 閱讀 5381

**的部署是乙個比較難的事情,難在資料方法,參差不齊,每個人的環境也都不太一樣,各個工具的文件也都比較大而且難懂,其實也不必慌,基本上,這跟個人對**原始碼/框架等的理解,以及部署過程的一些熟練程度(linux的操作)/以及對報錯的處理能力有關,多練幾次就好了。

下面,就來跟大家分享一些我歷經3/4次部署過程中經歷的一些:

部署前的準備流程

1.1.supervisor是可以用來將**的伺服器保持啟動和服務狀態的,我們通常用nginx來處理靜態檔案,用gunicorn來處理一些內部請求,轉給django進行處理

1.1購買伺服器和網域名稱,進行備案,根據個人的實際情況,可以購買合適的伺服器和網域名稱,一般對乙個基本的部落格而言,基本款的伺服器就夠使用了,網域名稱購買也可以在購買雲伺服器的時候一起買。

1.2購買完兩者之後,需要安裝伺服器例項,網域名稱解析至伺服器,最後還需要根據要求,進行備案。

1.3這些完成以後,就可以準備寫部落格了。可以根據需要,選擇前端的框架,以及資料庫,同時還要準備乙個github的賬號,以及倉庫,了解必備的github使用命令。

部署2.1部署前,需要先生成乙個requirements.txt(如果是使用virtualenv的話),

pip freeze > requirements.txt
同時,將settings.py的debug設為false,設定好static和media的路徑

debug =

false

static_url =

'/static/'

media_url =

'/media/'

static_root = os.path.join(base_dir,

'static'

) static_root = os.path.join(base_dir,

'media'

)

注意,不要上傳資料庫檔案和靜態檔案

2.2上傳github

上傳github時,要避免將settings.py中的敏感資訊保留,不要上傳,如secret_key 、郵箱密碼等,而是把這些資訊寫到伺服器本地,然後在 settings.py 中讀取。因為github是公開的,上傳github時,要注意與github的連線,上傳報錯問題等的解決

2.3伺服器本地準備

伺服器本地要做好以下準備

1.要建立路徑,用來存放專案檔案,安裝python,pip,以及pipenv或者irtualenv,並在目錄下建立虛擬環境

2.資料庫準備,如果用的是django自帶的db.sqlite,可以繼續使用,如果是mysql,則需要在伺服器本地準備好相應的資料庫,同setting.py中設定的一樣,(mysql不會自己生成資料庫,如果django呼叫的話,需要提前準備好

3.連線伺服器和github,將github中的專案檔案拉到伺服器上的專案路徑

採用git clone+倉庫超連結來拉取

4.安裝專案依賴

在虛擬環境下,在伺服器上補全剛才未上傳的setting.py的部分,然後安裝專案依賴,如果虛擬環境使用的virtualenv,則應使用:

pip freeze > requirements.txt
如果是pipenv,則需要:

pipenv install -

-deploy -

-ignore-pipfile

安裝後,進行資料庫遷移,以及靜態檔案收集

python manage.py migrate

python manage.py collectstatic

注意,如果是mysql,則因為mysql暫時不支援python3的原因,可能需要上網找方法解決

這時,可以執行以下 python3 manage.py runserver 來看一下是否有報錯,有報錯則解決問題,這時,因為已經將debug模式設為false,所以django不再幫我們查詢靜態資源,所以此時頁面上可能不會有什麼顯示。

部署接下來,就要準備部署了,這個過程會比較繁瑣,所以我將會分篇來講,主要是從nginx/gunicorn/supervisor三個工具來講

Django部署阿里雲伺服器

乙個很有趣的個人部落格,不信你來撩 fangzengye.com 參考文章 cd usr local python3裡面有對應python版本的安裝資料夾python 3.6.8 1.安裝。pip install virtualenv參考 建立資料夾 mkdir mysql8 進入資料夾 解壓tar...

阿里雲ECS伺服器部署django

參考 伺服器安裝的是centos 系統。uwsgi是使用pip安裝的。nginx是使用yum install nginx安裝。python 2.7,mysql 5.5使用 yum安裝。它們之間的邏輯關係如下 the web client the web server the socket uwsgi...

Django伺服器部署

ubuntu伺服器預設是python2 此版本不要刪除,不然會出問題 如果你的專案是python3,伺服器也安裝python3,django版本最好也統一,不然可能會出問題。sudo apt get install python3.6sudo rm usr bin pythonsudo ln s u...