1. 程式人生 > >python Django專案的阿里雲部署

python Django專案的阿里雲部署

.

Python Django專案的阿里雲部署

. 當時因為專案的需要,就是將 python 的 Django 專案部署到阿里雲伺服器上。藉此機會學習了一下,並記錄了部署的步驟。想著除了分享之外,更多的是以後自己也可以回來感受一下當時部署阿里雲的艱辛,不過現在會了也就不難了。其實當時部署的時候也挺不容易的,開始的時候只有朋友提供一些xshell命令,具體操作步驟完全不知道,就這樣也是一直摸索著,好在還是有些成果的。接下來就是部署阿里雲的全過程:

1.工欲善其事必先利其器,傢伙事先得搞全了

  • 首先就是先搞到阿里雲,在阿里雲官網新使用者是可以免費領取一個月阿里雲伺服器的,當時忘記了網址,再找的時候就。。。找不到了。BUT 阿里雲官網還有(

    https://www.aliyun.com/) ,截圖還在(貌似<=。=!>截圖上竟然有網址)。那都不重要,先領了再說。

    領取了之後需要注意一下,在第一次進入 終端管理 介面的時候會顯示一個驗證碼,這個驗證碼只會顯示一次。也就是說這是你們第一次見面,也是最後一次,不出意外再也見不著了。所以一定要收藏起來。

  • 阿里雲到手之後就需要在下載兩個軟體 xshell 和 xftp,我也是找了好些時辰才把這倆哥們搞出來。 xftp 和 xshell 下載官網 https://www.netsarang.com/ 找到 ↓ ↓ 這倆哥們估計也就歐耶了

    下載之餘我們來了解一下 xshell 和 xftp 這倆哥們,首先為什麼要下載它們呢,其實不下載也不是問題,阿里雲也提供了部署的平臺,單純的因為使用 xshell 和 xftp 操作起來更簡單。然後就是它們的用處,簡單的說 xshell 就相當於 Linux 的命令列,到後來環境的配置就靠它。環境搭建完成需要上傳你的原始碼之類的,這個時候就用到 xftp 了。

2.萬事俱備,只欠東風

  • 準備好它們仨之後就可以開始了,阿里雲先不管網頁掛著就行,咱先說 xshell ,開啟之後需要新建一個任務,需要填寫 伺服器的IP地址,埠號一般是22,其他的就先放著。

    如果資訊正確,進去後會讓你輸入root使用者名稱和相應的密碼,正常情況下這個root是固定的,密碼是你設定的(o( ̄ヘ ̄o#)不是登入密碼)。這個時候如果你猛然想起密碼忘記了怎麼辦,這個時候莫慌張,重置一下就歐耶了。開啟您晾在一邊的阿里雲管理介面! 然後開始修改遠端登入密碼就歐耶了,也可以進入相應的 管理 頁面然後 更換系統盤,來一波重置,必定歐耶。 然後再走一波 這個時候呢。。。順利的話你就會看你到這個一個小傢伙

3.揚帆遠航——飛起

  • 開始我們的 xshell 之旅,首先開始配置 Python 環境,這個時候悄悄地複製幾行程式碼:

更改python環境

	sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

	sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

安裝 pip

當時安裝完 python 環境之後發現不能使用 pip install ,所以我就下載了一個。不過在此之前還需要下載一個東西 就是 setuptools ,當時是因不安裝他的話會遇到一個問題,所以需要在安裝 pip 之前先安裝它。後來到網上一查 setuptools 的作用是它可以幫助我們更簡單的建立和分發Python包,是 python 的基礎包工具,可以幫助我們下載、 構建、安裝、升級、解除安裝 python的軟體包。

對站點的訪問不請求驗證(聽說這樣不好)

	wget --no-check-certificate 	

開始下載 pip 壓縮包,然後解壓安裝

	https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26    

解壓並安裝 setuptools-19.6.tar.gz

	tar -zxvf setuptools-19.6.tar.gz	
	
	cd setuptools-19.6 		

	python3 setup.py build

	python3 setup.py install

就是這麼一搗鼓,setuptools 就給裝上了,接下來就是安裝 pip 老規矩走一波

	wget --no-check-certificate  
	https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

	tar -zxvf pip-8.0.2.tar.gz

	cd pip-8.0.2   //進入 pip-8.0.2 目錄下就可以進行 pip install 命令了

	python3 setup.py build

	python3 setup.py install

安裝完 pip 之後你可以試著安裝一些你所需的模組,因為我的是 Django 專案 所以需要安裝 Django 模組

使用

	sudo pip install django==2.0.2

或者使用

	cd pip-8.0.2 

	pip install django==2.0.2

這兩個命令都可以的,第一條命令的 sudo 是linux系統管理指令,sudo可以提升你的許可權,最後的結果和第二條一樣 都可以進行安裝。在安裝過程中我遇到了一個很大問題,當時還試著安裝安裝了一下 pymysql 模組,畢竟後來也是會 用到的,但是也出現了同樣的問題。

這個時候怎麼辦,不慌張。but 百度在手,天下我有。開始的時候發現了 GCC 這個傢伙,心想有點線索了,於是百度了一下 發現 GCC 是 linux 系統下的一個編譯器。心想是不是少了 GCC ,然而並沒有。這個時候慌了,再找。。。。。最後是在一個哥們的部落格裡找到的 https://blog.csdn.net/u010865433/article/details/59170109 ,然後按照上面的程式碼走了一遍,最後才發現問題解決了,當然也不知道咋解決的。除此之外還用了其他的程式碼例如:

	sudo apt-get install python python-dev python-distribute python-pip libcurl4-openssl-dev libxml2-dev libxslt1-dev python-lxml

	sudo apt-get install libssl-dev libffi-dev build-essential

其實到最後我也不知道怎麼解決的,但是通過百度還是知道了我用的這幾條程式碼的意思,還是可以的。這個時候 Django 就已經安裝完了,還是放著,先來建立所需要的資料庫,在編寫 Django 專案的時候也是需要用到資料庫的,在 Setting.py 裡面的 DATABASES 中肯定也配置過,但是 DATABASES 的內容不改,只需要將資料庫的名字記下來就可以了。下面就是在xshell 中安裝並建立資料庫。 首先安裝 mysql 資料庫

	sudo apt-get update
	sudo apt-get install mysql-server 
	sudo mysql_secure_installation  #進入mysql

只需要跟著步驟來就可以安全完成建立,使用者名稱密碼最好跟要上傳的 Django 專案中配置的相同,省的再去改了。我在建立的時候還出現了一個粉紅螢幕,當時不知道咋回事還給嚇了一跳,聽說 windows 系統藍屏,莫非 Linux 是小粉紅屏。。。。完茄子的,咱這村裡的娃娃哪見過啊。可不就是輸個密碼嘛,瞧把咱嚇的。

安裝完之後啊,開始建表,先進入資料庫,其實感覺上和 windows 命令列建資料庫是一樣的流程,程式碼都一樣

	mysql -u root -p

	create database {資料庫名字} character set utf8;

當時我還有個疑問,建完資料庫之後,是不是還需要將資料表幹上去,我做的是一個 Repair System,那表可不是一個兩個的事。後來一想,makemigrations 是幹啥的,想想當時寫專案的時候是咋建表的,這不就歐耶了嗎。

這個時候呢,順利的話資料庫就已經建立好了,下一步該是時候啟動 xftp 了Come On 老規矩,新建一個 IP 地址 埠號都不變,變了還連不上呢。進去之後就是這種感覺的。然後把你想要上傳的拽上去,稍息片刻就會看到在右邊欄裡面看到你上傳的內容。

然後試著開啟你的專案,回味一波。這個時候可以找到你的 migrations 檔案夾了,刪除掉你曾經遷移的文,別刪乾淨了,記得留著 init (使用記事本開啟可以看到每一個 py 檔案的內容,如果不確定裡面的東西是什麼可以開啟瞅一鼻子,修改的話也是比較方便的)。來吧,讓我們來建表吧。

首先 cd 進入 manage.py 的目錄下,輸入那些年會敲不會讀熟悉的兩句程式碼:

	python manage.py makemigrations 
	python manage.py migrate

撒~ 激動人心的時刻來臨了

只見唰唰唰~,都無法表示我當時的喜悅,熟悉但又陌生。熟悉是 那時的我們,曾那樣親密;而陌生,現在你已經披上了 Linux 的嫁衣。與此同時部署工作————完結 歐耶❤