我遇到的Nginx uwsgi的500錯誤解決記錄

2021-06-19 05:20:10 字數 1461 閱讀 9577

我也不知道做了什麼,不過感覺也沒做什麼,就是改動了一下python程式,另外伺服器上手動刪除了mongodb的乙個資料庫,然後就出現了如下的問題:

怎麼解決的呢?照著這帖子上的說法加的引數:

不過加上--pep333-input提示「/usr/bin/uwsgi: unrecognized option '--pep333-input'」 就給去掉了,在伺服器上直接service server restart貌似沒啥效果,還是要重啟一下。

終於回來了,擦,嚇死我了

摘抄部分如下:

uwsgi報readv() faild

用uwsgi+nginx搭建的server,發現當用post請求時,會返回資料超時。查了一下uwsgi的error.log:

1
9825#0: *745262 readv() failed (104: connection reset by peer) while reading upstream, client: 121.14.96.125

後來在網上搜了一下文件:

其解釋說解決方案有兩種:

在uwsgi執行引數上增加:

1

2

--pep333-input

--post-buffering 4096

試了一下,只有第二種有效,所以由於google了一下命令的具體含義:

post-buffering

開啟http body緩衝, 如果http body的大小超過指定的限制,那麼就儲存到磁碟上.

ok,就是這樣~

uwsgi配置也貼過來:(

2011-05-30

post-buffering

開啟http body緩衝, 如果http body的大小超過指定的限制,那麼就儲存到磁碟上.

ini配置

[uwsgi]

post-buffering = 8192

命令列配置

–post-buffering 8192

post-buffering-bufsize

設定在post緩衝時的 內部緩衝區大小(分配用於讀取socket 流的chunk的大小)

post-buffering-bufsize 65536 將 分配64k的記憶體,作為 socket recv()函式的緩衝區. 對於128k的body, 需要兩個迴圈/兩次系統呼叫

async

開啟非同步模式

在10s鐘內沒有活動就關閉連線

–socket-timeout 10 (預設是4s)

buffer-size

為分析uwsgi包準備的內部緩衝區大小,預設是4k

–buffer-size 32768

-s 指定unix socket路徑或者tcp 的位址和埠號

-p worker程序數量

-d daemonizel

我遇到的 DLL Hell

dll hell 資料 dll hell字面意思是dll 災難 是由於com元件公升級引起的程式不能執行的情況。com物件常常被編譯為dll檔案。com元件模型雖然很不錯,但是它自身存在致命的缺陷。由於com物件可以被重用,這樣多個程式可能使用乙個com物件 如果這個com元件公升級了,就很有可能出...

Nginx uwsgi 部署Django的問題

埠buffer size 65536 chdir home ubuntu teacher 絕對路徑 wsgi.py 檔案在專案中的位置 wsgi file teacher wsgi.py module teacher.wsgi processes 4 master true vacuum true上...

我遇到的socket tcp ip問題

1.坑爹,居然由於客戶端太快,導致 客戶1的鏈結剛剛到 1處,客戶2的鏈結就立馬到了 1處,吧客戶1的connfd給覆蓋掉了。到處出現2個同樣的執行緒。尼瑪 int connfd accept server socket,struct sockaddr client addr,length 1 if...