PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中-創(chuàng)新互聯(lián)

小編給大家分享一下PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

Django2.1 + Python3.6 + nginx + uwsgi 部署到Ubuntu18.04

材料準(zhǔn)備

準(zhǔn)備一個(gè)Django項(xiàng)目準(zhǔn)備一臺(tái)Ubuntu18.04的主機(jī)

ssh連接到主機(jī)(騰訊云)

Mac直接在bash中輸入ssh root@你的主機(jī)ip
Windows請(qǐng)下載ssh遠(yuǎn)程連接工具例如Putty

騰訊云默認(rèn)不能以root身份登錄,請(qǐng)使用以下方式登錄

$ ssh -q -l ubuntu -p 22 你的主機(jī)ip

配置Python3.6環(huán)境

Ubuntu18.04已經(jīng)默認(rèn)安裝了python3.6.5,所以不需要再安裝了,可使用python3命令查看
安裝pip3:

$ sudo apt install python3-pip

在命令行中輸入pip3以驗(yàn)證是否安裝成功。

接下來安裝virtualenv和virtualenvwrapper:

$ pip3 install virtualenv$ pip3 install virtualenvwrapper#創(chuàng)建你項(xiàng)目的虛擬環(huán)境$ mkvirtualenv django# 創(chuàng)建虛擬環(huán)境的根目錄$ mkdir $HOME/.virtualenvs#配置環(huán)境變量$ sudo vim ~/.bashrc

將以下內(nèi)容放到最后面

export WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenvsource ~/.local/bin/virtualenvwrapper.sh

激活環(huán)境變量來生效:

$ source ~/.bashrc

PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

安裝Nginx

$ sudo apt-get install nginx#查看是否運(yùn)行$ ps aux | grep nginx

PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

安裝完成后,在瀏覽器中輸入你的ip地址,如果看到以下界面則說明安裝完成!

PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

安裝Mysql并配置

$ sudo apt-get install mysql-server#查看是否運(yùn)行$ ps aux | grep mysql

接下來配置mysql的密碼和權(quán)限問題

$ sudo mysql_secure_installation

執(zhí)行后會(huì)彈出多個(gè)選擇界面

1.是否安裝密碼校驗(yàn)插件VALIDATE PASSWORD PLUGIN can be used to test passwords......選擇n2.設(shè)置密碼Please set the password for root here.New password:xxxxxxRe-enter new password:xxxxxx3.刪除匿名用戶(生產(chǎn)環(huán)境有必要?jiǎng)h除)By default, a MySQL installation has an anonymous user......選擇y4.是否允許root用戶遠(yuǎn)程登錄Normally, root should only be allowed to connect from‘localhost'. ......選擇y5.是否刪除“測試”庫By default, MySQL comes with a database named ‘test' thatanyone can access. This is also intended only for testing,......選擇y6.是否立即生效Reloading the privilege tables will ensure that all changes......選擇y

配置完mysql后,把bind-address注釋掉,使得本機(jī)以外的ip都能連接進(jìn)來:

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf# 把這一行注釋上# bind-address 127.0.0.1#保存退出!wq

PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

然后登錄到mysql中

$ mysql -uroot -pmysql> use mysqlmysql> update user set host='%' where user=‘root';mysql> grant all on *.* to root@'%' identified by '你的密碼' with grant option;flush privileges;

PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

重啟mysql服務(wù):

$ service mysql restart

到此,mysql配置完成,可以在你的本地機(jī)上用navicat連接到遠(yuǎn)程服務(wù)器測試,方便操作數(shù)據(jù)庫

PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

測試Django項(xiàng)目能否正常運(yùn)行

#進(jìn)入虛擬環(huán)境$ workon django$ cd 你的項(xiàng)目根路徑#同步到數(shù)據(jù)庫$ python manage.py migrate$ python manage.py runserver 0.0.0.0:8000

在你的本機(jī)上輸入服務(wù)器ip:8000測試能否訪問,如果能訪問則接著往下看(此時(shí)static靜態(tài)資源還沒有被代理加載不出來)

安裝uwsgi和測試

#首先進(jìn)入虛擬環(huán)境$ workon django$ pip3 install uwsgi

PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

然后先測試一下uwsgi能否拉起django項(xiàng)目

$ cd 你的項(xiàng)目根路徑$ uwsgi --http :8000 --module 你的項(xiàng)目名.wsgi

如果能拉起的話,就可以來配置nginx和uwsgi了。

nginx配置和uwsgi配置

創(chuàng)建自己的nginx.conf配置

vim my_nginx.conf
server {listen 80;server_name 你的ip地址或者域名;charset utf-8;client_max_body_size 75M;#代理django的媒體文件location /media { alias 你的項(xiàng)目路徑/media;}#代理django的靜態(tài)文件location /static { alias 你的項(xiàng)目路徑/static;}#端口轉(zhuǎn)發(fā)location / { uwsgi_pass django; include uwsgi_params;}}

配置完成后把文件復(fù)制到nginx目錄下并重啟服務(wù):

$ cp my_nginx.conf /etc/nginx/conf.d/$ service nginx restart

然后配置uwsgi.ini

$ vim uwsgi.ini
[uwsgi]chdir = 你的項(xiàng)目根路徑module = 你的項(xiàng)目名.wsgimaster = trueprocesses = 10socket = 127.0.0.1:8000vacuum = truevirtualenv = /home/ubuntu/.virtualenvs/django#你的項(xiàng)目的虛擬環(huán)境地址

Django項(xiàng)目生產(chǎn)環(huán)境配置

首先需要收集靜態(tài)文件

#收集靜態(tài)文件$ python manage.py collectstatic

在settings.py中,注釋掉STATICFILES_DIRS

#STATICFILES_DIRS=[#os.path.join(BASE_DIR,'static')#]# 加入 STATIC_ROOT=os.path.join(BASE_DIR,'static')

settings.py中,debug改為True:

DEBUG = TrueALLOWED_HOSTS = ['*']

啟動(dòng)項(xiàng)目,部署成功

來到uwsgi.ini目錄下

uwsgi -i uwsgi.ini

PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

在瀏覽器中輸入服務(wù)器ip地址

成功訪問
PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中

部署成功!

以上就是Ubuntu18.04的部署

** 如果想在Ubuntu16.04部署,大致步驟是一模一樣的,只是Ubuntu16.04中預(yù)裝了python2沒有python3,需要自行安裝python3和pip3,僅僅多了此步驟而已!**

以上是“PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前文章:PythonWeb項(xiàng)目Django如何部署在Ubuntu18.04中-創(chuàng)新互聯(lián)
本文來源:http://bm7419.com/article12/dpcdgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作網(wǎng)站策劃、ChatGPT、品牌網(wǎng)站設(shè)計(jì)微信小程序、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營