uwsgi django nginx 搭建部分總結

2021-12-30 07:16:57 字數 2124 閱讀 4741

環境:cent7.5+django2.1.2+uwsgi2.0.17+nginx1.12.2

uwsgi 是基於wsgi 協議的乙個應用。wsgi 是網頁伺服器閘道器介面協議,用來處理http request、response的訊息。

uwsgi 2.0.17 基於python2 下的pip install uwsgi 來安裝,可以通過xml或ini檔案格式來做初始化配置。

這裡用ini配置。conf.ini內容如下:

[uwsgi]

socket=:8080

chdir=/home/website/hoursewebsiteproject

#wsgi-file=hoursewebsiteproject/wsgi.py

module=hoursewebsiteproject.wsgi

pidfile=pid.uwsgi

master=true

processes=4

threads=2

buffer-size=32768

virtualenv=/home/website/ll_env

daemonize=uwsgi.log

vacuum=truesocket=:8080 是用來配置nginx 伺服器,用來建立socket通訊的,如果單獨啟用測試執行django伺服器,讓外網訪問設定為http=:8080 。指定任何位址可以訪問。

chidir 用來指定django的專案目錄。

module 指定wsgi檔案

virtualenv 指定安裝的python3 安裝的虛擬環境,執行uwsgi 協議應用是在虛擬環境目錄下進行的.

命令:source ll_env/bin/activate

/home/website/ll_env 為建立的虛擬環境目錄路徑,此處使用的是python3.5+django 2.0.7環境

daemonize 指定uwsgi執行在後台

uwsgi --ini conf.ini

#以上命令啟用uwsgi,用cat uwsgi.log 檢視當前目錄下uwsgi生成的日誌資訊是什麼

netstat -ntlp

#此命令檢視埠8080 隊友的uwsgi 服務是否啟用。(ll_env) [root@192 hoursewebsiteproject]# netstat -ntlp

active internet connections (only servers)

proto recv-q send-q local address foreign address state pid/program name

tcp 0 0 0.0.0.0:10022 0.0.0.0:* listen 999/sshd

tcp 0 0 0.0.0.0:80 0.0.0.0:* listen 1641/nginx: master

tcp 0 0 0.0.0.0:8080 0.0.0.0:* listen 1628/uwsgi

tcp6 0 0 :::10022 :::* listen 999/sshd

tcp6 0 0 :::3306 :::* listen 1037/mysqld

#查詢到 uwsgi 的程序號pid 1628 用以下命令關閉

kill -9 1628nginx是web應用中繼伺服器用來**網頁請求,將網頁請求**為uwsgi 閘道器應用。

當uwsgi配置啟動成功後,需要配置nginx。

首先django 專案的工程下的setting.py 下的debug=true 。如果debug 改為false ,django 專案就不能自動索引static靜態檔案了,這個時候就通過nginx來提供靜態檔案的目錄了,同時template 中的網頁模板中的引入檔案路徑就要修改了。

搭建部署Docker

docker安裝準備 首先看下伺服器是否有舊版本,如果有需要解除安裝並且安裝依賴 yum remove docker docker client docker client latest docker common docker latest docker latest logrotate dock...

mysql 部分索引 mysql建立部分索引

mysql中,字串如何建立索引的 本文中擷取一部分 只對字串的前幾個字元進行索引。通過字串的前幾個字元我們已經能大概排序字串了,剩下不能排序的可以通過遍歷進行查詢啊,這樣只在b 樹中儲存字串的前幾個字元的編碼,既節約空間,又減少了字串的比較時間,還大概能解決排序的問題,何樂而不為,比方說我們在建表語...

ftp快速搭建部署

1.ftp服務搭建 yum install vsftpd getenforce cp etc vsftpd vsftpd.conf etc vsftpd vsftpd.conf.bak ll etc vsftpd vsftpd.conf.bak id www cat etc passwd grep ...