1. 程式人生 > >django啟動uwsgi報錯

django啟動uwsgi報錯

路徑 uil exe seconds ini limit pid thunder idf

查看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/h1/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)

解決第一個報錯,註意操作的先後順序:

1.卸載uwsgi

pip uninstall uwsgi

#註意此時卸載,pip會有緩存留在系統裏

2.安裝pcre支持庫

yum install pcre pcre-devel pcre-static

3.繼續安裝uwsgi,不走pip緩存

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

#啟動uwsgi,已經沒有“!!! no internal routing support, rebuild with pcre support !!!”報錯了

解決第二個報錯:

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

module=xxx.wsgi

#註:xxx為項目名稱,startproject那個項目名稱,這個錯誤解決後,下面的訪問錯誤自然而然的就解決了!

附:我的uwsgi.ini配置文件

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

django啟動uwsgi報錯