亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Django項(xiàng)目uwsgi+Nginx保姆級(jí)部署教程實(shí)現(xiàn)

 更新時(shí)間:2020年04月19日 08:39:29   作者:韓數(shù)  
這篇文章主要介紹了Django項(xiàng)目uwsgi+Nginx保姆級(jí)部署教程實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

寫在最前:

非常抱歉的是,因?yàn)橥蝗缙鋪淼囊咔?,我的hadoop系列斷更了,很難受,因?yàn)槲业姆植际江h(huán)境在學(xué)校,我的筆記本配置帶不起來,代碼跑不起來我是不敢寫博客的,然后寒假在家寫代碼也沒啥意思,看了非常多的書,把計(jì)網(wǎng)和操作系統(tǒng)重新學(xué)了一遍。因?yàn)閷?shí)習(xí)的需要,未來我更多的技術(shù)可能在Python這塊,但是java相關(guān)的內(nèi)容我也會(huì)努力保持更新,同時(shí)也會(huì)出更多的入門教程給大家謝謝大家。

背景:

最近在學(xué)習(xí)django的過程中,用django做了一個(gè)小demo,所以試試看能不能部署到服務(wù)器上,自己順便也熟悉一下Django整個(gè)部署的流程,因?yàn)橹皩W(xué)習(xí)flask的時(shí)候,就使用的uwsgi來作為python web服務(wù)器來部署的,所以這次也就選擇了nginx+uwsgi這樣的一個(gè)組合。

當(dāng)時(shí)買完云服務(wù)器之后,就順手把寶塔裝上了,之前用寶塔部署php項(xiàng)目是真的很容易,所以就偷懶試試寶塔能不能部署django,苦試一個(gè)小時(shí),無果,遂放棄,還是老老實(shí)實(shí)用原生的uwsgi配合Nginx來部署吧。然后下面的流程我會(huì)爭取把有可能是坑的地方重點(diǎn)標(biāo)注出來,將來如果發(fā)博客或者自己需要再次部署的時(shí)候,也可以少寫很多配置文件。

環(huán)境:

系統(tǒng)版本 :centos7.5

python 版本:3.6.5

nginx 版本:1.16.1

uwsgi 版本:2.0.18

如環(huán)境不同,還請(qǐng)查閱其他資料另行配置。

環(huán)境準(zhǔn)備:

在部署之前,請(qǐng)確保你的linux服務(wù)器正確安裝了對(duì)應(yīng)的python版本,如果需要python3版本,請(qǐng)自行查閱資料進(jìn)行升級(jí)安裝。

首先為了更好的獨(dú)立部署,避免對(duì)其他的項(xiàng)目產(chǎn)生干擾,我們需要安裝python 虛擬環(huán)境:

sudo pip install virtualenv
sudo pip install virtualenvwrapper

virtualenvwrapper 是virtualenv的擴(kuò)展管理包,可以將所有的虛擬環(huán)境整合在一個(gè)目錄下。

配置虛擬環(huán)境:

mkdir ~/.virtualenvs

打開.bashrc:

sudo vim ~/.bashrc

在.bashrc的末尾增加下面內(nèi)容:

export WORKON_HOME=$HOME/.virtualenvs # 所有虛擬環(huán)境存儲(chǔ)的目錄
source /usr/local/python3/bin/virtualenvwrapper.sh

注意?。哼@里的/usr/local/bin/virtualenvwrapper.sh只是針對(duì)于我當(dāng)前系統(tǒng)環(huán)境的一個(gè)位置,并不是所有的服務(wù)器都是在這個(gè)位置,如果自己不知道virtualenvwrapper.sh在哪里,可以搜索文件來找到它在系統(tǒng)中的位置,并且修改.bashrc。

啟用配置文件:

source ~/.bashrc

這個(gè)時(shí)候如果不報(bào)錯(cuò),就代表我們的虛擬環(huán)境配置成功了,一般常見的報(bào)錯(cuò)就是virtualenvwrapper.sh文件找不對(duì)。

創(chuàng)建虛擬環(huán)境:

找一個(gè)你自己覺得能記住的地方,新建一個(gè)env 文件夾:

cd /www
mkdir env
cd env #進(jìn)入env目錄

新建一個(gè)虛擬環(huán)境:

mkvirtualenv -p /usr/bin/python3 orange_env  # my_env是虛擬環(huán)境的名稱

注意:如果你的軟連接/usr/bin/python3沒有的話,會(huì)報(bào)錯(cuò)誤,找不到/usr/bin/python3,這個(gè)時(shí)候就需要你自己新建一個(gè)軟連接:

如果報(bào)錯(cuò):

ln -s /usr/local/python3/bin/python3 /usr/bin/python3 # 路徑要改成自己的python安裝路徑

之后便可以進(jìn)入我們的虛擬環(huán)境了:

source /www/env/orange_env/bin/activate

進(jìn)去虛擬環(huán)境之后,前面會(huì)出現(xiàn)一個(gè)括號(hào),里面是你虛擬環(huán)境的名字:

(orange_env) [root@iz2ze1cvux96riiwfh05qqz ~]# 

在虛擬環(huán)境中安裝uwsgi:

pip install uwsgi

退出虛擬環(huán)境:

deactivate

再次在主環(huán)境中安裝uwsgi:

pip install uwsgi

注意:如果你有其他的依賴,比如django,msqlclient這些,記得一定要在虛擬環(huán)境里pip安裝一下。

部署過程:

找一個(gè)你認(rèn)為比較合適的地方,新建一個(gè)文件夾,將你的Django項(xiàng)目上傳進(jìn)去:

以我為例:

cd /www
mkdir orange

上傳解壓操作略,記得是上傳項(xiàng)目根目錄,就是直接帶manage.py的那個(gè)目錄。

新建一個(gè)uswgi配置文件,uswgi支持多種配置文件類型,比如yaml,xml,json,ini,這里我選的是xml。

vim mysite.xml #記得mysite.xml 要和你項(xiàng)目的manage.py 在一個(gè)目錄下。

mysite.xml內(nèi)容如下:

<uwsgi>  
  <socket>127.0.0.1:8080</socket><!-- 內(nèi)部端口,自定義 --> 
  <chdir>/www/orange/</chdir><!-- 項(xiàng)目路徑 -->      
  <module>orangeproject.wsgi</module> <!-- 一般模塊名 項(xiàng)目名+wsgi --> 
  <processes>4</processes> <!-- 進(jìn)程數(shù) -->   
  <daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>

安裝Nginx:

Nginx 我之前有寫過一系列的基礎(chǔ)入門教程,如果對(duì)安裝啟動(dòng)重啟這些不是很熟練的可以看下面這篇文章:

鏈接: 寫給后端的Nginx初級(jí)入門教程:實(shí)戰(zhàn)篇

查看nginx 配置文件路徑:

nginx -t

記得備份nginx之前的配置文件,然后把之前的配置全部刪了,直接加入下面內(nèi)容:

worker_processes 1;
events {
  worker_connections 1024;
}
http {
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  server {
    listen    8000;
    server_name 你的域名;
    charset utf-8;
    location / {
      include uwsgi_params;
      uwsgi_pass 127.0.0.1:8080;
      uwsgi_param UWSGI_SCRIPT orangeproject.wsgi;
      uwsgi_param UWSGI_CHDIR /www/orange/;
      
    }
    location /static/ {
    alias /www/orange/transfer/static/; 
    }
  }
}

注意模塊名要保持一致,而且你nginx監(jiān)聽的端口不能和你django啟動(dòng)的端口一樣,要不uswgi會(huì)因?yàn)閚ginx占用端口啟動(dòng)失敗。alias /www/orange/transfer/static/; 這個(gè)是你的靜態(tài)文件地址,css,img這些。

檢查nginx是否配置成功:

nginx -t

重啟nginx:

nginx -s reload

之后,再次進(jìn)入我們的虛擬環(huán)境orange_env中,啟動(dòng)我們的uwsgi服務(wù)器:

cd /www/orange
uwsgi -x mysite.xml

然后打開我們的本地瀏覽器,輸入:域名:8000,備案過的可以改nginx配置文件成80。

大功告成:

到此這篇關(guān)于Django項(xiàng)目uwsgi+Nginx保姆級(jí)部署教程實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Django uwsgi+Nginx 部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python操作mongodb根據(jù)_id查詢數(shù)據(jù)的實(shí)現(xiàn)方法

    python操作mongodb根據(jù)_id查詢數(shù)據(jù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了python操作mongodb根據(jù)_id查詢數(shù)據(jù)的實(shí)現(xiàn)方法,實(shí)例分析了Python根據(jù)pymongo不同版本操作ObjectId的技巧,需要的朋友可以參考下
    2015-05-05
  • python實(shí)現(xiàn)圖書借閱系統(tǒng)

    python實(shí)現(xiàn)圖書借閱系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖書借閱系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • python實(shí)現(xiàn)簡單通訊錄管理系統(tǒng)

    python實(shí)現(xiàn)簡單通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 3 個(gè)超有用的 Python 編程小技巧

    3 個(gè)超有用的 Python 編程小技巧

    這篇文章主要給大家分享3個(gè)超有用的 Python 編程小技巧,文章都是一些再編程中很有用的小技巧,具有一定的參考價(jià)值,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-12-12
  • 完美解決python3.7 pip升級(jí) 拒絕訪問問題

    完美解決python3.7 pip升級(jí) 拒絕訪問問題

    這篇文章主要介紹了python3.7 pip升級(jí) 拒絕訪問 解決方案,文中給大家提到了python中for循環(huán)問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-07
  • 通過Python實(shí)現(xiàn)控制手機(jī)詳解

    通過Python實(shí)現(xiàn)控制手機(jī)詳解

    如今python是非常多人學(xué)習(xí)的,而手機(jī)也幾乎人手一部。對(duì)于很多Python學(xué)習(xí)者,想用python來完成android手機(jī)中各種炫酷的的控制,adb是必不可缺少的工具之一
    2021-10-10
  • Python中l(wèi)oguru日志庫的使用

    Python中l(wèi)oguru日志庫的使用

    本文主要介紹了Python中l(wèi)oguru日志庫的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 關(guān)于Django ForeignKey 反向查詢中filter和_set的效率對(duì)比詳解

    關(guān)于Django ForeignKey 反向查詢中filter和_set的效率對(duì)比詳解

    今天小編就為大家分享一篇關(guān)于Django ForeignKey 反向查詢中filter和_set的效率對(duì)比詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知的示例詳解

    python實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知的示例詳解

    這篇文章主要和大家分享兩個(gè)有意思的Python小工具,可以優(yōu)雅地實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知,文中的示例代碼簡潔易懂,有需要的小伙伴快也跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • python怎么刪除緩存文件

    python怎么刪除緩存文件

    在本篇文章里小編給大家整理的是一篇關(guān)于python刪除緩存文件方法,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07

最新評(píng)論