Nginx uwsgi 部署Django 專案

2021-09-29 08:37:38 字數 2171 閱讀 6295

tar -zxvf nginx-1.8.1.tar.gz

cd ./nginx-1.8.1

sudo ./configure --prefix=/usr/local/nginx

sudo make

sudo make install

安裝成功之後,進行cd /usr/local/nginx/sbin

可以看到nginx的啟動檔案

nginx 執行及停止

sudo /usr/local/nginx/sbin/nginx #啟動

sudo /usr/local/nginx/sbin/nginx -s stop #停止

sudo /usr/local/nginx/sbin/nginx -s reload #停止

安裝uwsgi相對簡單:

pip install uwsgi

django自身有帶著很多靜態檔案(例如:admin的靜態頁面),但是著生產模式下他就不會著提供這些靜態檔案。

我們現在要先收集所有的靜態檔案,需要著配置檔案裡面新增配置如下:

# 下面是django提供了收集靜態檔案的方法,將django自帶的靜態檔案放到我們自己的front靜態檔案下面的static (這個目錄需要手動建立)

static_root = os.path.join(os.path.dirname(os.path.dirname(base_dir)),'front/static')

# 下一步就是執行收集命令,執行完static就會出現很多靜態檔案

python manage.py collectstatic

使用nginx伺服器作為靜態檔案伺服器

開啟nginx的配置檔案

sudo vim /usr/local/nginx/conf/nginx.conf

在server部分中配置

server

。。。。。

}修改完成儲存並退出後重啟nginx如下 (沒有開起就直接啟動命令上前面提到)

sudo /usr/local/nginx/sbin/nginx -s reload

使用uwsgi啟動我們的django專案

這裡需要修改專案的配置檔案

debug =true

allowed_hosts = [『*']

cors_origin_whitelist = (

#啟動專案的ip

』******xx:8080『 #靜態位址

)在專案目錄下建立uwsgi配置檔案 uwsgi.ini

[uwsgi]

#使用nginx連線時使用,django程式所在伺服器位址

http=***.***.***.***:8000 #這裡的ip可以在終端使用ifconfig檢視到

#專案目錄

chdir=***/***/***/***/ #這是你的專案路徑

l#專案中wsgi.py檔案的目錄,相對於專案目錄

wsgi-file=******/wsgi.py #這是你專案裡wsgi的路徑

# 程序數

processes=8

# 執行緒數

threads=4

# uwsgi伺服器的角色

master=true

# 存放程序編號的檔案

pidfile=uwsgi.pid

# 日誌檔案,因為uwsgi可以脫離終端在後台執行,日誌看不見。我們以前的runserver是依賴終端的

daemonize=uwsgi.log

# 指定依賴的虛擬環境

virtualenv=/x x/x x/.x x/x x #這是你虛擬環境路徑 只到虛擬環境名就好

啟動uwsgi伺服器 (就可以訪問後台介面)

uwsgi --ini uwsgi.ini

第一步:

需要把uwsgi.ini 檔案裡的http=xx.xx.xx.xx:8000 ,換成socket=xx.xx.xx.xx:8000,

第二步:

修改nginx配置檔案,讓nginx接收到請求後**給uwsgi伺服器(加上一下配置即可)

server

}

最後重啟nginx即可。大功告成

使用nginx uwsgi部署django應用

使用過django來開發網頁的人都知道,django的manage.py自帶了乙個runserver命令,這個命令使得本地除錯非常方便,然而在真正上線 時對併發能力的支援非常重要,本教程教你用nginx uwsgi來將django應用部署在伺服器上。教程 1.首先保證django專案在本地除錯完畢。...

Nginx uWsgi部署django專案

一.將專案上傳至linux 二.配置專案執行環境 1.開啟專案 2.安裝虛擬環境包 sudo apt install virtualenv3.建立虛擬環境 virtualenv 環境名 p usr bin python3 指向pytho的安裝位置 4.啟用環境,deactivate退出環境 sour...

部署Django專案Nginx uwsgi

部署方式 nginx uwsgi應用服務 作業系統 centos7 django專案 為例 1.安裝 python3.6 獲取安裝包 wget tar xzvf python 3.6.2.tgz c tmp cd tmp python 3.6.2 安裝到 usr local 目錄 configure...