virtualvenv+django+uWSGI+nginx 部署 踩坑記錄

原創博文 轉載請註明出處!

<a name="0"></a> <a href="#1">uwsgi: unrecognized option '--http:8089'</a> <a href="#2">uwsgi: unrecognized option '--http'</a> <a href="#3">uwsgi trkMngm_uwsgi.ini -> invalid request block size: 21573 (max 4096)...skip</a> <a href="#4">ModuleNotFoundError: No module named 'TrackManagement/TrackManagement/wsgi'</a> <a href="#5">runserver運行django error : Bad Request</a> <a href="#6">manage.py語法錯誤</a>node

<br>python


<a name="1"></a> uwsgi: unrecognized option '--http:8089'nginx

(venv) [root@localhost TrackManagement]# uwsgi --http:8089 --module TrackManagement.wsgi
uwsgi: unrecognized option '--http:8089'
getopt_long() error

<b> 緣由: 參數格式不對 :8089前面要加空格 uwsgi還在開啓 </b> <a href="#0"> ↑ </a>sql

<br>django


<a name="2"></a>session

uwsgi: unrecognized option '--http'app

(venv) [root@localhost TrackManagement]# uwsgi --http:8089 --module TrackManagement.wsgi
uwsgi: unrecognized option '--http'
getopt_long() error

<b> 緣由: uwsgi還在開啓 先殺了進程再重啓 </b>dom

<a href="#0"> ↑ </a>socket

<br>ide


<a name="3"></a>

uwsgi trkMngm_uwsgi.ini -> invalid request block size: 21573 (max 4096)...skip 啓動了以後每次訪問

*** Stats server enabled on 127.0.0.1:9295 fd: 12 ***
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip
invalid request block size: 21573 (max 4096)...skip

<b> 緣由: trkMngm_uwsgi.ini 文件中有設置nginx的socket 若是這時候nginx沒有對應的配置或者配置了可是nginx沒有重啓 就會產生這個錯誤 </b>

<a href="#0"> ↑ </a>

<br>


<a name="4"></a>

ModuleNotFoundError: No module named 'TrackManagement/TrackManagement/wsgi'

(venv) [root@localhost TrackManagement]# uwsgi --http :8089 --module TrackManagement/TrackManagement/wsgi.py
*** Starting uWSGI 2.0.18 (64bit) on [Tue Feb 19 11:33:20 2019] ***
compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-36) on 18 February 2019 05:28:03
os: Linux-3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018
nodename: localhost.localdomain
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 4
current working directory: /root/Odin/TrackManagement
detected binary path: /root/Odin/TrackManagement/venv/bin/uwsgi
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 63229
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI http bound on :8089 fd 4
spawned uWSGI http 1 (pid: 33181)
uwsgi socket 0 bound to TCP address 127.0.0.1:33454 (port auto-assigned) fd 3
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
Python version: 3.6.4 (default, Mar  6 2018, 13:19:57)  [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x12acbf0
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72920 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
ModuleNotFoundError: No module named 'TrackManagement/TrackManagement/wsgi'
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 33180, cores: 1)

<b> 緣由: 應該在TrackManagement項目裏面運行 即這個目錄下面 </b>

(venv) [root@localhost TrackManagement]# ls
db.sqlite3  manage.py  testUwsgi.py  TrackManagement

<a href="#0"> ↑ </a>

<br>


<a name="5"></a>

runserver運行django error : Bad Request

(venv) [root@localhost TrackManagement]# python manage.py runserver 0.0.0.0:8080
Performing system checks...

System check identified no issues (0 silenced).

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

February 18, 2019 - 07:47:25
Django version 2.1.7, using settings 'TrackManagement.settings'
Starting development server at http://0.0.0.0:8080/
Quit the server with CONTROL-C.
Invalid HTTP_HOST header: '10.41.95.85:8080'. You may need to add '10.41.95.85' to ALLOWED_HOSTS.
Bad Request: /
[18/Feb/2019 07:47:51] "GET / HTTP/1.1" 400 60826
Invalid HTTP_HOST header: '10.41.95.85:8080'. You may need to add '10.41.95.85' to ALLOWED_HOSTS.
Bad Request: /favicon.ico
[18/Feb/2019 07:47:54] "GET /favicon.ico HTTP/1.1" 400 60906

<b> solution : </b>

django setting.py

ALLOWED_HOSTS = ['*'] -> ALLOWED_HOSTS = ['*']

<a href="#0"> ↑ </a>

<br>


<a name="6"></a>

manage.py語法錯誤

SyntaxError: invalid syntax
[root@localhost TrackManagement]# python manage.py runserver 0.0.0.0:8080
  File "manage.py", line 14
    ) from exc

<b> solution 沒有運行虛擬環境 外面的環境是python 虛擬環境纔是python3 因此會有語法錯誤 </b>

<a href="#0"> ↑ </a> <br>

相關文章
相關標籤/搜索