部署Django到阿里云服務(wù)器教程示例
基于Ubuntu16.04 + Python3 + nginx + mysql + Django
接下來先安裝這些必要的環(huán)境,這些操作都是在你已經(jīng)購買了阿里云服務(wù)器。并且在本地你已經(jīng)搭建好了Django博客。現(xiàn)在我們所做的就是把本地的環(huán)境在阿里云的服務(wù)器上重新搭一遍。
這里先簡(jiǎn)單的說一下阿里云服務(wù)器,我自己買的是云服務(wù)器ESC,需要配置一下安全組規(guī)則,就是端口,按下圖配置即可,最重要的是22和88端口。

然后就是我們的服務(wù)器在實(shí)例里,我的是Ubuntu16.04,要部署到阿里云上點(diǎn)擊遠(yuǎn)程連接,第一次點(diǎn)擊會(huì)彈出一個(gè)密碼,這就是你在阿里云登錄遠(yuǎn)程連接的密碼,一定要記好,就會(huì)彈出這一次!

輸入密碼之后就進(jìn)入了Ubuntu命令行模式,這時(shí)候你輸入你的Ubuntu賬號(hào),默認(rèn)root,然后輸入密碼,密碼是你在買服務(wù)器時(shí)候就設(shè)置的,成功之后就進(jìn)入了Ubuntu系統(tǒng),我們整個(gè)部署過程都是在這個(gè)Ubuntu系統(tǒng)里,命令行下進(jìn)行。所以需要你多少掌握一些Ubuntu命令行的知識(shí)!

整個(gè)部署過程我們還是使用到一個(gè)重要的軟件Xftp,這個(gè)軟件就相當(dāng)于Ubuntu的界面系統(tǒng),我們通過它連接上我們阿里云服務(wù)器的Ubuntu系統(tǒng),連接成功之后就可以直接在本地通過Xftp和阿里云Ubuntu系統(tǒng)傳送文件。
打開Xftp新建會(huì)話,然后在主機(jī)輸入你的阿里云服務(wù)器公網(wǎng)IP,下面的賬號(hào)密碼可以先不輸入,點(diǎn)擊確定后會(huì)提示你輸入。

點(diǎn)擊確定后會(huì)提示你輸入賬號(hào),賬號(hào)就是Ubuntu的默認(rèn)root

然后輸入密碼

點(diǎn)擊確定就進(jìn)入了Ubuntu系統(tǒng)

這個(gè)左面顯示的是你的桌面,右面新建會(huì)話顯示的就是阿里云服務(wù)器上Ubuntu系統(tǒng)的目錄結(jié)構(gòu),在這里我們可以直接從左面(你的本地桌面)往右面(阿里云的Ubuntu系統(tǒng))拖拽文件,這個(gè)在后面我們部署的時(shí)候會(huì)非常方便!
一、安裝必要的軟件
1、安裝Django
先安裝pip3:
sudo apt-get update sudo apt-get install pip3
然后安裝Django,這個(gè)地方要注意安裝你所使用的Django版本:
pip3 install django2.0
2、安裝nginx
sudo apt-get update sudo apt-get install nginx
安裝完成后。用你電腦的瀏覽器訪問你的服務(wù)器的公網(wǎng)ip地址,看看安裝成功沒有!
3、安裝uwsgi
在你的本地電腦訪問https://uwsgi-docs.readthedocs.io/en/latest/Download.html,下載Stable/LTS版本的源文件。
本地下解壓這個(gè)源文件,然后用xftp把文件拖放到阿里云的Ubuntu的家目錄(home)下,使用cd命令進(jìn)入到該文件夾下,按順序依次輸入下面三條命令:
sudo apt-get install python3-setuptools sudo apt-get install python3-dev sudo python3 setup.py install
4、安裝MySQL(如果使用Django自帶的數(shù)據(jù)庫,跳過這步)
輸入下面安裝命令:
sudo apt-get install mysql-server mysql-client
安裝過程中會(huì)出現(xiàn)叫你輸入密碼,這個(gè)密碼一定要記??!
安裝完成輸入下面命令:
mysql -u root -p
然后輸入你剛剛設(shè)置的密碼,進(jìn)去之后輸入下面命令:
create database myblog
創(chuàng)建一個(gè)myblog數(shù)據(jù)庫,這個(gè)數(shù)據(jù)庫名字跟你將來要還原的數(shù)據(jù)庫名字一樣,用xftp把你在本地備份的sql文件拖到阿里云Ubuntu的家目錄(home)下。
還原數(shù)據(jù)庫;進(jìn)入家目錄(home),輸入下面命令:
sudo mysql -u root -p myblog<myblog.sql
配置mysql文件:
sudo vim/etc/mysql/mysql.conf.d/mysqld.cnf
然后注釋掉下面這行代碼
# band-address = localhost
二、配置項(xiàng)目
經(jīng)過上面的步驟,如果一切順利你就已經(jīng)把所需要的軟件和環(huán)境搭建好了,接下來我們就開始配置我們的博客項(xiàng)目。
1、配置博客項(xiàng)目
先用xftp把你的整個(gè)博客項(xiàng)目拖到家目錄(home)那里,然后開始配置nginx文件:
cd /etc/nginx/sites-available vim default
使用cd命令進(jìn)入到sites-available文件夾,文件夾下有一個(gè)default文件,使用vim打開它,找到default文件下的這段代碼,如果沒有就要添加上去:
server_name 192.168.1.121;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
location /static {
alias /home/feixue/python/www/for_test/static;
}
location /media {
alias /home/ubuntu/blog/media;
}
192.168.1.121替換成你自己服務(wù)器公網(wǎng)IP地址;
static 那里也要替換成你自己Django項(xiàng)目的static路徑;
media 同理換成你自己Django項(xiàng)目的media路徑,這是媒體文件的文件夾;
注意:location后面是有空格的,必須要有!alias后面也是有空格的;include上面那句話也是要注釋掉的!
修改成完成后使用 wq 保存退出(vim編輯器知識(shí)不懂的百度吧)
再輸入下面命令重啟服務(wù):
sudo service nginx restart
2、配置uwsgi
在博客項(xiàng)目的根目錄下,也就是有manage.py文件的目錄下,新建一個(gè)uwsgi.ini文件和一個(gè)run.log文件
然后我們使用vim編輯器編輯uwsgi.ini文件:
vim uwsgi.ini
文件打開是空的,我們添加如下代碼:
[uwsgi] chdir = /home/feixue/python/www/for_test module = for_test.wsgi:application socket = 127.0.0.1:8000 master = true daemonize = /home/feixue/pyth/for_test/run.log disable-logging = true
chdir 是你的博客項(xiàng)目的根目錄,我這里的項(xiàng)目名叫for_test;你要替換成你自己的路徑;
moudule 是你的入口wsgi模塊,將for_test替換成你自己的項(xiàng)目名稱;
socket 是通信端口設(shè)置,這個(gè)設(shè)置不用改,復(fù)制即可;
master = true 表示以主進(jìn)程模式運(yùn)行,不用改,復(fù)制即可;
daemonize 是你的日志文件目錄,這個(gè)路徑就是剛剛新建的run.log文件的路徑;
disable-logging = true 表示不記錄正常信息,只記錄錯(cuò)誤信息,否則你的日志可能很快就爆滿了!
3、配置MySQL(如果使用Django自帶的數(shù)據(jù)庫,這步可以跳過)
修改setting.py 所在目錄的那個(gè) init.py文件使用vim編輯器打開init.py文件輸入一下代碼:
import pymysql pymysql.install_as_MySQLdb()
安裝mysql驅(qū)動(dòng):
pip3 install pymysql
4、修改settings.py文件
打開settings.py文件找到下面代碼并修改:
DEBUG = False ALLOWED_HOSTS = ['192.168.178.128']
注意其中的IP地址要替換成你自己阿里云公網(wǎng)的IP。
如果你順利的完成了上面的步驟,那么恭喜你!你可以直接去瀏覽器輸入你的公網(wǎng)IP地址,就可以訪問了!
接下來我還會(huì)更新一些在部署中遇到的問題和解決辦法,如果你遇到什么問題歡迎留言!
到此這篇關(guān)于部署Django到阿里云服務(wù)器教程示例的文章就介紹到這了,更多相關(guān)部署Django到阿里云內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用PyCharm配合部署Python的Django框架的配置紀(jì)實(shí)
- 利用Pycharm + Django搭建一個(gè)簡(jiǎn)單Python Web項(xiàng)目的步驟
- 社區(qū)版pycharm創(chuàng)建django項(xiàng)目的方法(pycharm的newproject左側(cè)沒有項(xiàng)目選項(xiàng))
- Pycharm+django2.2+python3.6+MySQL實(shí)現(xiàn)簡(jiǎn)單的考試報(bào)名系統(tǒng)
- 使用PyCharm創(chuàng)建Django項(xiàng)目及基本配置詳解
- 基于騰訊云服務(wù)器部署微信小程序后臺(tái)服務(wù)(Python+Django)
- pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程
相關(guān)文章
Python?數(shù)據(jù)類型中的字符串和數(shù)字
這篇文章主要介紹了Python?數(shù)據(jù)類型中的字符串和數(shù)字,Python3中有六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型,Number、String、List、Tuple、Set、Dictionary,加先來我們就來看看這幾種數(shù)據(jù)類型的具體相關(guān)介紹,需要的小伙伴可以參考一下2022-02-02
Python爬蟲采集Tripadvisor數(shù)據(jù)案例實(shí)現(xiàn)
這篇文章主要為大家介紹了Python爬蟲采集Tripadvisor數(shù)據(jù)案例實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Python被遠(yuǎn)程主機(jī)強(qiáng)制關(guān)閉后自動(dòng)重新運(yùn)行進(jìn)程的示例
要實(shí)現(xiàn)Python程序在被遠(yuǎn)程主機(jī)強(qiáng)制關(guān)閉后能夠自動(dòng)重新運(yùn)行,我們可以采用幾種方法,但最直接且常用的方法之一是結(jié)合操作系統(tǒng)級(jí)的工具或腳本,這篇文章主要介紹了Python被遠(yuǎn)程主機(jī)強(qiáng)制關(guān)閉后怎么自動(dòng)重新運(yùn)行進(jìn)程,需要的朋友可以參考下2024-08-08
關(guān)于python中plt.hist參數(shù)的使用詳解
今天小編就為大家分享一篇關(guān)于python中plt.hist參數(shù)的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python BeautifulSoup基本用法詳解(通過標(biāo)簽及class定位元素)
這篇文章主要介紹了Python BeautifulSoup基本用法(通過標(biāo)簽及class定位元素),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
TensorFlow人工智能學(xué)習(xí)創(chuàng)建數(shù)據(jù)實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)創(chuàng)建數(shù)據(jù)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11

