最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

寫在最前:

非常抱歉的是,因為突如其來的疫情,我的hadoop系列斷更了,很難受,因為我的分布式環(huán)境在學校,我的筆記本配置帶不起來,代碼跑不起來我是不敢寫博客的,然后寒假在家寫代碼也沒啥意思,看了非常多的書,把計網(wǎng)和操作系統(tǒng)重新學了一遍。因為實習的需要,未來我更多的技術可能在Python這塊,但是java相關的內容我也會努力保持更新,同時也會出更多的入門教程給大家謝謝大家。

背景:

最近在學習django的過程中,用django做了一個小demo,所以試試看能不能部署到服務器上,自己順便也熟悉一下Django整個部署的流程,因為之前學習flask的時候,就使用的uwsgi來作為python web服務器來部署的,所以這次也就選擇了nginx+uwsgi這樣的一個組合。

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

環(huán)境:

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

python 版本:3.6.5

nginx 版本:1.16.1

uwsgi 版本:2.0.18

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

環(huán)境準備:

在部署之前,請確保你的linux服務器正確安裝了對應的python版本,如果需要python3版本,請自行查閱資料進行升級安裝。

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

sudo pip install virtualenv
sudo pip install virtualenvwrapper

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

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

mkdir ~/.virtualenvs

打開.bashrc:

sudo vim ~/.bashrc

在.bashrc的末尾增加下面內容:

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

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

啟用配置文件:

source ~/.bashrc

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

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

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

cd /www
mkdir env
cd env #進入env目錄

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

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

注意:如果你的軟連接/usr/bin/python3沒有的話,會報錯誤,找不到/usr/bin/python3,這個時候就需要你自己新建一個軟連接:

如果報錯:

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

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

source /www/env/orange_env/bin/activate

進去虛擬環(huán)境之后,前面會出現(xiàn)一個括號,里面是你虛擬環(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安裝一下。

部署過程:

找一個你認為比較合適的地方,新建一個文件夾,將你的Django項目上傳進去:

以我為例:

cd /www
mkdir orange

上傳解壓操作略,記得是上傳項目根目錄,就是直接帶manage.py的那個目錄。

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

vim mysite.xml #記得mysite.xml 要和你項目的manage.py 在一個目錄下。

mysite.xml內容如下:

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

安裝Nginx:

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

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

查看nginx 配置文件路徑:

nginx -t

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

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啟動的端口一樣,要不uswgi會因為nginx占用端口啟動失敗。alias /www/orange/transfer/static/; 這個是你的靜態(tài)文件地址,css,img這些。

檢查nginx是否配置成功:

nginx -t

重啟nginx:

nginx -s reload

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

cd /www/orange
uwsgi -x mysite.xml

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

大功告成:

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

相關文章

  • 從請求到響應過程中django都做了哪些處理

    從請求到響應過程中django都做了哪些處理

    這篇文章主要給大家介紹了關于從請求到響應過程中django都做了哪些處理的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • python3 requests庫文件上傳與下載實現(xiàn)詳解

    python3 requests庫文件上傳與下載實現(xiàn)詳解

    這篇文章主要介紹了python3 requests庫文件上傳與下載實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 使用IDLE的Python shell窗口實例詳解

    使用IDLE的Python shell窗口實例詳解

    在本篇文章里小編給各位整理的是關于使用IDLE的Python shell窗口實例詳解內容,有興趣的朋友們學習下。
    2019-11-11
  • Python中的類屬性與實例屬性區(qū)別詳解

    Python中的類屬性與實例屬性區(qū)別詳解

    這篇文章主要介紹了Python中的類屬性與實例屬性區(qū)別詳解,類屬性是在類中定義的屬性,它是和這個類所綁定的,這個類中的所有對象都可以訪問,實例屬性是與類的實例相關聯(lián)的數(shù)據(jù)值,是這個實例私有的,需要的朋友可以參考下
    2023-08-08
  • 利用Python?requests庫爬取高德地圖全國地鐵站點信息

    利用Python?requests庫爬取高德地圖全國地鐵站點信息

    requests?模塊是?python?基于?urllib,采用?Apache2?Licensed?開源協(xié)議的?HTTP?庫,它比?urllib?更加方便,可以節(jié)約我們大量的工作,完全滿足?HTTP?測試需求,這篇文章主要介紹了利用Python?requests庫爬取高德地圖全國地鐵站點信息,需要的朋友可以參考下
    2024-03-03
  • python 基于UDP協(xié)議套接字通信的實現(xiàn)

    python 基于UDP協(xié)議套接字通信的實現(xiàn)

    這篇文章主要介紹了python 基于UDP協(xié)議套接字通信的實現(xiàn),幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 修改Python?pip下載包的默認路徑詳細步驟記錄

    修改Python?pip下載包的默認路徑詳細步驟記錄

    這篇文章主要介紹了如何修改pip的默認安裝路徑以釋放C盤空間,特別是針對機器學習相關的大型包,可以將pip的安裝位置更改為其他目錄,需要的朋友可以參考下
    2025-03-03
  • Python多線程編程(六):可重入鎖RLock

    Python多線程編程(六):可重入鎖RLock

    這篇文章主要介紹了Python多線程編程(六):可重入鎖RLock,本文直接給出使用實例,然后講解如何使用RLock避免死鎖,需要的朋友可以參考下
    2015-04-04
  • Python中matplotlib中文亂碼解決辦法

    Python中matplotlib中文亂碼解決辦法

    Matplotlib是Python的一個很好的繪圖包,但是其本身并不支持中文(貌似其默認配置中沒有中文字體),所以如果繪圖中出現(xiàn)了中文,就會出現(xiàn)亂碼
    2017-05-05
  • Form表單及django的form表單的補充

    Form表單及django的form表單的補充

    這篇文章主要介紹了Form表單及django的form表單的補充,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07

最新評論

中江县| 大冶市| 凯里市| 邯郸县| 大安市| 疏附县| 梁山县| 淄博市| 乌兰浩特市| 成安县| 遂溪县| 图木舒克市| 周至县| 乌拉特前旗| 富源县| 涿鹿县| 莱阳市| 平南县| 巴彦县| 平度市| 灌阳县| 常熟市| 潢川县| 色达县| 华亭县| 泗洪县| 河南省| 高台县| 黔西| 新巴尔虎右旗| 长顺县| 绿春县| 甘德县| 双辽市| 龙井市| 建阳市| 旌德县| 明水县| 锡林郭勒盟| 城口县| 确山县|