當我們運行Django項目時,一般是使用命令python manage.py runserver
啟動本地服務(wù)器纲堵。但是這個服務(wù)器只能用于開發(fā)巡雨,其性能不足以支撐大規(guī)模的訪問。因此席函,我們需要將Django部署到服務(wù)器上铐望。主流的選擇有Apache和Nginx。這里使用Apache部署Django項目茂附。
我將從配置阿里云Ubuntu的服務(wù)器環(huán)境開始正蛙,一步步講解如何完成Django項目的部署,所有的例子都是真實來源于我自己部署時遇到的問題营曼。本文主要簡單說明Ubuntu16的基本操作
服務(wù)器遠程連接
首先需要有一臺服務(wù)器筹我,我使用的是阿里云的云服務(wù)器ECS装黑,學(xué)生認證的話有優(yōu)惠。操作系統(tǒng)我選擇的是Ubuntu16,在租好服務(wù)器之后勉吻,進入到阿里云的管理界面可以看到服務(wù)器的ip地址准潭,我們需要用到這個公有ip地址來遠程連接到服務(wù)器典尾。同時還需要用到創(chuàng)建云服務(wù)器時自己給服務(wù)器設(shè)定的密碼身冀。
下面推薦兩個神器用于服務(wù)器的遠程連接:Xshell和FileZila.前者用于在命令行中遠程連接并操作服務(wù)器,后者則可以連接到服務(wù)器進行文件的上傳下載辐赞、刪除部翘、新建等操作,并且界面是可視化的响委,目錄結(jié)構(gòu)一目了然新思。
接下來我們打開Xshell遠程連接到服務(wù)器,F(xiàn)ileZila的操作同理赘风。在Xshell中選擇"新建":
協(xié)議選擇SSH夹囚,主機填寫之前提到的云服務(wù)器的公有IP。接下來邀窃,點擊左邊的“用戶身份驗證”荸哟,輸入用戶名(默認為root)和創(chuàng)建服務(wù)器時設(shè)定的密碼,點擊連接,就連接到了云服務(wù)器
Ubuntu基本操作
Linux下有以下一些常用的命令:
- 目錄操作
cd dirname
:進入某個目錄鞍历,如果是在root下則需在dirname前加上/,cd ..
表示返回上一級目錄
ls
:列出當前目錄下的文件列表
mkdir dirname
:創(chuàng)建目錄 - vi編輯器
vi temp.txt
:用vi編輯器打開temp.txt
vi -R temp.txt
:以只讀模式打開文件
進入vi編輯器之后舵抹,處于命令模式,按下i
進入編輯模式劣砍,按下ESC退出編輯模式惧蛹,回到命令模式。在命令模式下刑枝,有下列常用命令:
:q
:退出vi編輯器
:wq
:保存并退出
:set nu
:顯示行號
:$
:跳轉(zhuǎn)到最后一行
:num
:跳轉(zhuǎn)到指定行 - 其他技巧
在命令行下使用方向鍵上下可以回溯之前的命令香嗓,在輸入命令時使用TAB可以進行自動填充
創(chuàng)建用戶
這一步不是必須的,直接以root身份進行操作依然可以完成部署装畅,但是如果是多人合作靠娱,這時就可以為每個人創(chuàng)建一個用戶。在root根目錄下洁灵,輸入:
useradd -d /home/hardy -m -s /bin/sh -g webdev hardy
:
-d表示用戶目錄饱岸,也就是用戶登錄時的目錄,一般創(chuàng)建在/home目錄下徽千;-m表示如果目錄不存在的話就創(chuàng)建目錄;-s表明用戶的登錄shell是/bin/sh汤锨;-g指定了用戶所屬的用戶組双抽,hardy是用戶名
在指定用戶所屬用戶組之前,需要先創(chuàng)建用戶組:
groupadd webdev
刪除用戶組的命令為:
groupdel webdev
接下來設(shè)置新用戶的密碼:
passwd hardy
輸入該命令后會出現(xiàn)設(shè)置密碼的提示闲礼,Linux下密碼都是盲打模式牍汹,輸入密碼時命令行中不會有任何變化,輸入完成之后按回車即可
設(shè)置完成之后柬泽,就可以在Xshell中使用新的用戶名和對應(yīng)的密碼登錄了慎菲。如果想要新用戶擁有root權(quán)限,使用命令:
vi /etc/passwd
修改新用戶的ID和ID組為0即可
環(huán)境配置
接下來安裝運行Django項目所需的環(huán)境锨并,需要安裝的環(huán)境有:Python3露该,pip3,Django庫第煮,其他Python依賴庫解幼,Apache2 和 mod_wsgi
1.Python3及外部庫的安裝
Ubuntu中自帶Python2,由于有些程序是依賴Python2的包警,因此不用將它卸載撵摆。我使用的服務(wù)器也自帶了Python3,但是命令行中輸入python
默認是python2的解釋器害晦,要使用python3解釋器特铝,需要輸入python3
服務(wù)器自帶的pip工具也是python2的,而由于我們使用的是Django2,所以需要使用pip3來安裝django
安裝pip3有兩種方法鲫剿,一種是通過apt-get痒芝,在使用apt-get之前,先在命令行中輸入:
sudo apt-get update
然后安裝pip3:
sudo apt-get install python3-pip
我當時安裝的時候牵素,由于沒有update严衬,安裝不成功,因此用了另一種方法:去pip的官網(wǎng)上下載get-pip.py笆呆,上傳到服務(wù)器请琳,然后運行:python3 get-pip.py
,這樣也可以安裝pip3
接下來安裝外部庫赠幕,首先安裝django:
pip3 install django
然后俄精,根據(jù)你的項目中所使用的外部庫,自行使用pip3安裝
2.安裝Apache2 和 mod_wsgi
使用apt-get來安裝榕堰,在安裝之前竖慧,如果之前沒有update過,則最好先運行sudo apt-get update
逆屡,然后開始安裝:
sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi-py3
至此圾旨,我們的服務(wù)器的相關(guān)配置已經(jīng)差不多了,接下來將會介紹如何通過服務(wù)器的公有IP訪問服務(wù)器魏蔗,以及如何配置apache