記錄一次騰訊雲部署django項目的過程
部署目標
騰訊雲服務器上部署和運行django項目
零. 項目準備
- 在你項目的根目錄編寫xml文件,uwsgi配置做準備
- 收集一下靜態文件,在項目下執行
python manage.py collectstatic
一. 系統環境準備
centos 7.2
- 先更新雲服務器
輸入命令行:yum update
- 安裝依賴包
輸入命令行:yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
輸入命令行:yum install libffi-devel -y
二. 默認系統環境查看
輸入命令行:python
三. 安裝python3(不要卸載python2)
- 先自己建立一個文件夾
輸入命令行:cd /usr
輸入命令行:mkdir mzcfile
- 進入文件夾,下載python 安裝包
輸入命令行:wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
- 解壓並安裝python3
輸入命令行:tar -zxvf Python-3.7.2.tgz
輸入命令行:cd Python-3.7.2
輸入命令行:./configure
輸入命令行:make&&make install
完成後,確認一下是否安裝成功
輸入命令行:python3
- 改變系統默認的python命令 和python2 的軟連接(變成python 和python3 的軟連接)
輸入命令行:mv /usr/bin/python /usr/bin/python.bak
輸入命令行:ln -s /usr/local/bin/python3.7 /usr/bin/python
- 建立的pip命令 和pip3 的軟連接
輸入命令行:ln -s /usr/local/bin/pip3 /usr/bin/pip
備註:以後系統中使用python命令時,默認是用的python3,使用pip命令時,默認使用的是pip3
四. 安裝虛擬機並建立軟連接
輸入命令行:pip3 install virtualenv
輸入命令行:ln -s /usr/local/bin/virtualenv /usr/bin/virtualenv
你可能會遇到這個提示,是告訴你pip版本有點老了,你可以輸入下面命令行更新一下就行了
輸入命令行:pip install --upgrade pip
五. 在虛擬環境中安裝你的django
- 進到你之前在usr目錄建立的文件夾(或者你可以自己確認一個位置放虛擬項目),比如,我的項目命名爲sy,創建這個虛擬機項目
輸入命令行:virtualenv sy
- 創建完成後,進入到sy中,再進入bin中,執行命令
輸入命令行:source activate
這時,你就進入到了你的sy的虛擬項目中,如果你要退出,輸入命令
輸入命令行:deactivate
如果,你不要這個虛擬項目了,那麼就rm -f sy 刪除這個文件夾就可以了
- 安裝django,版本號2.1.8(如果你用的是sqlite,可能會遇到sqlite版本過低的問題,請使用2.1.8版本的django)
輸入命令行:pip install django==2.1.8
- 安裝其它django項目需要的第三方插件,比如,我這裏需要富文本編輯功能(根據自己的項目確定)
輸入命令行:pip install django-ckeditor
六. 安裝git
- 重新設置yum。你會發現這個時候,你用yum來安裝系統軟件,已經安裝不起了,因爲yum需要python2的配置,但我們系統現在默認的是python3,所以,現在需要把yum配置改一下
- 重新修改yum配置(1),修改爲 #!/usr/bin/python2.7
輸入命令行:vim /usr/bin/yum
- 重新修改yum配置(2), 修改爲 #!/usr/bin/python2.7
輸入命令行:vim /usr/libexec/urlgrabber-ext-down
- yum 回來了,現在我們用yum來安裝git客戶端
輸入命令行:yum install git
- 將項目文件通過git 到虛擬機的bin目錄下自定義的文件夾中(建立一個文件夾,git pull 到該文件夾下),比如,我的項目是projectv20
備註:git pull 相關
(1)git remote add origin https://git.code.tencent.com/xxxxx/xxxxxxxxx.git
(2)git config --global user.name “xxxxxx”
(3)git config --global user.email “xxxxxx”
(4)git pull origin master
七. 安裝uwsgi
- 在虛擬機中安裝一次(在虛擬機外部再安裝一次)
輸入命令行:pip install uwsgi
查看uwsgi 進程的命令可
輸入命令行:ps -f | grep uwsgi
- 回退到xxx.xml目錄下,啓動uwsgi( 在虛擬機外部再啓動一次)
輸入命令行:uwsgi -x xxx.xml
如果想終止,輸入命令行: pkill -f uwsgi -9
八. 安裝nginx(到虛擬機外部安裝)
- 回到usr下之前下載python的目錄,下載安裝nginx
輸入命令行:wget http://nginx.org/download/nginx-1.13.7.tar.gz
輸入命令行:tar -zxvf nginx-1.13.7.tar.gz
輸入命令行:cd nginx-1.13.7
輸入命令行:./configure
輸入命令行:make&&make install
- 備份nginx.conf
輸入命令行:cd /usr/local/nginx/conf
輸入命令行:cp nginx.conf nginx.conf.bak
- 修改nginx.conf 爲以下內容(參考)
- 啓動nginx,在 usr/local/nginx/sbin/
輸入命令行:./nginx
如果要停止nginx,用如下命令
輸入命令行:./nginx -s stop