溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

django啟動(dòng)uwsgi報(bào)錯(cuò)怎么辦

發(fā)布時(shí)間:2021-07-12 11:59:14 來(lái)源:億速云 閱讀:304 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹django啟動(dòng)uwsgi報(bào)錯(cuò)怎么辦,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

uwsgi介紹

uWSGI是一個(gè)Web服務(wù)器,它實(shí)現(xiàn)了WSGI協(xié)議、uwsgi、http等協(xié)議。Nginx中HttpUwsgiModule的作用是與uWSGI服務(wù)器進(jìn)行交換。

要注意 WSGI / uwsgi / uWSGI 這三個(gè)概念的區(qū)分。

  • WSGI是一種Web服務(wù)器網(wǎng)關(guān)接口。它是一個(gè)Web服務(wù)器(如nginx,uWSGI等服務(wù)器)與web應(yīng)用(如用Flask框架寫的程序)通信的一種規(guī)范。

  • uwsgi是一種線路協(xié)議而不是通信協(xié)議,在此常用于在uWSGI服務(wù)器與其他網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)通信。

  • 而uWSGI是實(shí)現(xiàn)了uwsgi和WSGI兩種協(xié)議的Web服務(wù)器。

  • uwsgi協(xié)議是一個(gè)uWSGI服務(wù)器自有的協(xié)議,它用于定義傳輸信息的類型(type of information),每一個(gè)uwsgi packet前4byte為傳輸信息類型描述,它與WSGI相比是兩樣?xùn)|西。

uwsgi性能非常高

django啟動(dòng)uwsgi報(bào)錯(cuò)怎么辦

最近在django啟動(dòng)uwsgi報(bào)錯(cuò)的時(shí)候,發(fā)現(xiàn)了一些錯(cuò)誤,下面來(lái)一起看看吧

查看uwsgi.log

*** Starting uWSGI 2.0.17 (64bit) on [Thu Apr 5 17:46:15 2018] ***
compiled with version: 4.4.7 20120313 (Red Hat 4.4.7-18) on 05 April 2018 02:08:03
os: Linux-2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016
nodename: GDJ_DEV
machine: x86_64
clock source: unix
detected number of CPU cores: 1
current working directory: /xxx/xxx/xxx/xxx
writing pidfile to uwsgi.pid
detected binary path: /xxx/xxx/.virtualenvs/h2/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
chdir() to /xxx/xxx/xxx/xxx
your processes number limit is 100000
your memory page size is 4096 bytes
detected max file descriptor number: 100000
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI http bound on 172.21.0.5:8000 fd 4
uwsgi socket 0 bound to TCP address 127.0.0.1:33522 (port auto-assigned) fd 3
Python version: 3.6.4 (default, Mar 24 2018, 10:32:21) [GCC 4.4.7 20120313 (Red Hat 4.4.7-18)]
Python main interpreter initialized at 0x1ff10d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 416880 bytes (407 KB) for 8 cores
*** Operational MODE: preforking+threaded ***
failed to open python file xxx/uwsgi.ini
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 4865)
spawned uWSGI worker 1 (pid: 4866, cores: 2)
spawned uWSGI worker 2 (pid: 4867, cores: 2)
spawned uWSGI worker 3 (pid: 4868, cores: 2)
spawned uWSGI worker 4 (pid: 4869, cores: 2)
spawned uWSGI http 1 (pid: 4870)
--- no python application found, check your startup logs for errors ---
[pid: 4869|app: -1|req: -1/1] 118.26.10.242 () {40 vars in 777 bytes} [Thu Apr 5 17:46:31 2018] GET /user/login/ => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)

解決第一個(gè)報(bào)錯(cuò),注意操作的先后順序:

1.卸載uwsgi

pip uninstall uwsgi

#注意此時(shí)卸載,pip會(huì)有緩存留在系統(tǒng)里

2.安裝pcre支持庫(kù)

yum install pcre pcre-devel pcre-static

3.繼續(xù)安裝uwsgi,不走pip緩存

pip install uwsgi -I --no-cache-dir

#啟動(dòng)uwsgi,已經(jīng)沒(méi)有“ !!! no internal routing support, rebuild with pcre support !!! ”報(bào)錯(cuò)了

解決第二個(gè)報(bào)錯(cuò):

需要在你的uwsgi.ini文件中module指定項(xiàng)目下面的wsgi:

module=xxx.wsgi

#注:xxx為項(xiàng)目名稱,startproject那個(gè)項(xiàng)目名稱,這個(gè)錯(cuò)誤解決后,下面的訪問(wèn)錯(cuò)誤自然而然的就解決了!

附:我的uwsgi.ini配置文件

[uwsgi]
#socket=ip:port       #使用nginx代理請(qǐng)求時(shí)配置,直接訪問(wèn)uwsgi使用http方式
http=ip:port
chdir=/xxx/xxx       #項(xiàng)目根目錄的絕對(duì)路徑
wsgi-file=xxx/uwsgi.ini  #項(xiàng)目目錄下的uwsgi.ini
module=xxx.wsgi      #指向項(xiàng)目下的wsgi模塊
processes=4
threads=2
master=True
py-atuo-reload=1
env=DJANGO_SETTINGS_MODULE=xxx.settings
pidfile=uwsgi.pid
daemonize=uwsgi.log

以上是“django啟動(dòng)uwsgi報(bào)錯(cuò)怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI