1. 程式人生 > >部署Django到雲伺服器(centos+nginx+mysql+uwsgi+python3)【操作篇(1)】

部署Django到雲伺服器(centos+nginx+mysql+uwsgi+python3)【操作篇(1)】

開篇

笛卡爾說:“你不能教會一個人任何東西,你只能幫助他發現他自己內心本來就有的東西!”
jacky能教你的,只能是經驗和建議,要逆襲還得通過自己對資料的不斷領悟,資料領域的技能都很簡單,這些知識就在那裡,等待你的覺醒;
我們學習任何技能和知識,目的都是為了實踐,我們學會了手藝,最後都是要賺錢的,有些朋友跟著jacky,一起學了Python資料探勘,一起學了MySQL,一起學了Linux等等吧,還有一些資料運營和資料思維的技能,那最終我們的結果是什麼?就是怎樣運用我們所學的這些知識,幫助我們賺錢,這就是我一直倡導的“不做有才華的窮人”,我們要學會知識變現,那怎樣才能實現資料知識變現呢?
本系列 jacky就手把手教你如何把構建一個數據平臺,那這幾次的分享,jacky將分享給大家如何把django部署到伺服器上。

閱讀前需掌握的技能

  • 程式語言:Python
  • 系統框架:Django
  • 資料庫:MySQL
  • 服務架構:Uwsgi+Nginx
  • IDE:Pycharm
  • 程式碼管理:Git
  • 映象系統:Centos

(一)購買伺服器

可以買阿里雲,百度雲或騰訊雲的產品,購買入門配置足夠,其他的產品用過幾個,優點是錢便宜,缺點是坑太多

  • 注意:這裡要買的是雲伺服器,不是雲虛擬主機

  • 注意:選擇的是linux系統( 包括centos或Ubuntu)

  • 購買成功後,記住IP號,和雲伺服器名,還有我們的密碼;

(二)用xshell 連線到我們的雲伺服器

資料分析-jacky

  • 連線成功,我們就進入瞭如下介面:

資料分析-jacky

(三)配置LNMP

3.1 LNMP 基礎鋪墊

關於什麼是LNMP,官網寫的很好,也很有邏輯,這裡jacky就直接給大家截圖LNMP官網中的內容,跟大家分享了;

資料分析-jacky

3.2 下載LNMP安裝包

3.3 將LNMP安裝包,上傳到伺服器上

  • 怎麼上傳?
安裝命令
$ sudo yum install lrzsz

使用方式
$rz

資料分析部落

3.4 將LNMP解壓並在伺服器上安裝

解壓
tar xf lnmp.tar.gz
cd lnmp1.5/
./install.sh

3.5 LNMP配置

  • 執行上面的命令,伺服器將自動安裝LNMP,安裝前系統會詢問我們安裝什麼版本的MySQL,MySQL我們選擇5.5,記憶體大的就選5.5以上;其餘的選擇同,或者直接回車都安裝預設也是沒有關係的,之後就是漫長的安裝,幾十分鐘吧… …

(四)安裝Python3

系統自帶的是Python2,這裡我們需要的是Python3,為什麼用Python3不用Python2,請參看jacky的其他文章

4.1 下載安裝包

wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz

資料分析-jacky

4.2 解壓並安裝Python3

tar -zxvf Python-3.5.4.tgz
cd Python-3.5.4
./configure --prefix=/usr/local/python3
make && make install

4.3 把Python3配置到伺服器的全域性變數中

資料分析-jacky

  • 上面我們已經在伺服器上成功的安裝了,但在終端上並不能直接使用,我們需要使用兩個 ln命令
ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
  • 注意:上面的ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3命令中python3.5和pip3後一定要加一個空格,這點非常非常的重要

(五)安裝和使用虛擬環境virtualenv

  • 執行安裝命令
pip3 install virtualenv
  • 更新pip3,並再次安裝virtualenv
pip3 install --upgrade pip
pip3 install virtualenv
  • 建立名字為django的虛擬環境,執行命令
python3 -m venv /home/virtualenv/django
cd /home/virtualenv/django/bin
source activate
  • 下面為配置成功的介面
    資料分析-jacky

(六) 在django的虛擬環境下安裝第三方庫

6.1 批量匯入

要安裝的第三方庫,有很多,這裡jacky選擇了更簡便的批量安裝,命令方法如下:

  • 在伺服器下,新建txt檔案,並把下面的庫貼上到txt檔案中儲存
vi reqrequirements.txt
diff-match-patch==20121119
Django==2.0.1
django-crispy-forms==1.7.0
django-formtools==2.1
django-import-export==0.6.1
django-pure-pagination==0.3.0
django-ranged-response==0.2.0
django-reversion==2.0.12
django-simple-captcha==0.5.6
djangorestframework==3.8.2
et-xmlfile==1.0.1
future==0.16.0
httplib2==0.9.2
jdcal==1.3
odfpy==1.3.6
openpyxl==2.4.9
Pillow==5.0.0
pytz==2018.4
PyYAML==3.12
six==1.11.0
tablib==0.12.1
unicodecsv==0.14.1
uWSGI==2.0.17
xlrd==1.1.0
xlwt==1.3.0

資料分析-jacky

6.2 批量安裝命令

pip install -r reqrequirements.txt

6.3 安裝mysqlclient安裝包

因為這個安裝包,比較容易出錯,所以單獨來安裝這個包

mysqlclient==1.3.12

  • 如安裝mysqlclient第三方庫出現報錯(“OSError: mysql_config not found”),修改配置檔案並手動安裝的解決方案:
cd /tmp
wget http://mirrors.163.com/pypi/packages/6f/86/bad31f1c1bb0cc99e88ca2adb7cb5c71f7a6540c1bb001480513de76a931/mysqlclient-1.3.12.tar.gz#sha256=2d9ec33de39f4d9c64ad7322ede0521d85829ce36a76f9dd3d6ab76a9c8648e5
tar -xzvf mysqlclient-1.3.12.tar.gz
cd mysqlclient-1.3.12
vim setup_posix.py
***修改setup_posix.py下,mysql_config.path = "mysql_config" 改成 mysql_config.path = "/usr/local/mysql/bin/mysql_config",儲存並退出:wq!****
python setup.py install

未完待續》》》》》》》》》》》》