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

Django2.1 + Python3.6 + nginx + uwsgi 部署到Ubuntu18.04
材料準備
準備一個Django項目準備一臺Ubuntu18.04的主機
ssh連接到主機(騰訊云)
Mac直接在bash中輸入ssh root@你的主機ip
Windows請下載ssh遠程連接工具例如Putty
騰訊云默認不能以root身份登錄,請使用以下方式登錄
$ ssh -q -l ubuntu -p 22 你的主機ip
配置Python3.6環境
Ubuntu18.04已經默認安裝了python3.6.5,所以不需要再安裝了,可使用python3命令查看
安裝pip3:
$ sudo apt install python3-pip
在命令行中輸入pip3以驗證是否安裝成功。
接下來安裝virtualenv和virtualenvwrapper:
$ pip3 install virtualenv$ pip3 install virtualenvwrapper#創建你項目的虛擬環境$ mkvirtualenv django# 創建虛擬環境的根目錄$ mkdir $HOME/.virtualenvs#配置環境變量$ sudo vim ~/.bashrc
將以下內容放到最后面
export WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenvsource ~/.local/bin/virtualenvwrapper.sh
激活環境變量來生效:
$ source ~/.bashrc

安裝Nginx
$ sudo apt-get install nginx#查看是否運行$ ps aux | grep nginx

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

安裝Mysql并配置
$ sudo apt-get install mysql-server#查看是否運行$ ps aux | grep mysql
接下來配置mysql的密碼和權限問題
$ sudo mysql_secure_installation
執行后會彈出多個選擇界面
1.是否安裝密碼校驗插件VALIDATE PASSWORD PLUGIN can be used to test passwords......選擇n2.設置密碼Please set the password for root here.New password:xxxxxxRe-enter new password:xxxxxx3.刪除匿名用戶(生產環境有必要刪除)By default, a MySQL installation has an anonymous user......選擇y4.是否允許root用戶遠程登錄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注釋掉,使得本機以外的ip都能連接進來:
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf# 把這一行注釋上# bind-address 127.0.0.1#保存退出!wq

然后登錄到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;

重啟mysql服務:
$ service mysql restart
到此,mysql配置完成,可以在你的本地機上用navicat連接到遠程服務器測試,方便操作數據庫

測試Django項目能否正常運行
#進入虛擬環境$ workon django$ cd 你的項目根路徑#同步到數據庫$ python manage.py migrate$ python manage.py runserver 0.0.0.0:8000
在你的本機上輸入服務器ip:8000測試能否訪問,如果能訪問則接著往下看(此時static靜態資源還沒有被代理加載不出來)
安裝uwsgi和測試
#首先進入虛擬環境$ workon django$ pip3 install uwsgi

然后先測試一下uwsgi能否拉起django項目
$ cd 你的項目根路徑$ uwsgi --http :8000 --module 你的項目名.wsgi
如果能拉起的話,就可以來配置nginx和uwsgi了。
nginx配置和uwsgi配置
創建自己的nginx.conf配置
vim my_nginx.conf
server {listen 80;server_name 你的ip地址或者域名;charset utf-8;client_max_body_size 75M;#代理django的媒體文件location /media { alias 你的項目路徑/media;}#代理django的靜態文件location /static { alias 你的項目路徑/static;}#端口轉發location / { uwsgi_pass django; include uwsgi_params;}}配置完成后把文件復制到nginx目錄下并重啟服務:
$ cp my_nginx.conf /etc/nginx/conf.d/$ service nginx restart
然后配置uwsgi.ini
$ vim uwsgi.ini
[uwsgi]chdir = 你的項目根路徑module = 你的項目名.wsgimaster = trueprocesses = 10socket = 127.0.0.1:8000vacuum = truevirtualenv = /home/ubuntu/.virtualenvs/django#你的項目的虛擬環境地址
Django項目生產環境配置
首先需要收集靜態文件
#收集靜態文件$ 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 = ['*']
啟動項目,部署成功
來到uwsgi.ini目錄下
uwsgi -i uwsgi.ini

在瀏覽器中輸入服務器ip地址
成功訪問
部署成功!
以上就是Ubuntu18.04的部署
** 如果想在Ubuntu16.04部署,大致步驟是一模一樣的,只是Ubuntu16.04中預裝了python2沒有python3,需要自行安裝python3和pip3,僅僅多了此步驟而已!**
以上是“PythonWeb項目Django如何部署在Ubuntu18.04中”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯成都網站設計公司行業資訊頻道!
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前文章:PythonWeb項目Django如何部署在Ubuntu18.04中-創新互聯
本文來源:http://www.yijiale78.com/article12/dpcdgc.html
成都網站建設公司_創新互聯,為您提供企業網站制作、網站策劃、ChatGPT、品牌網站設計、微信小程序、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯