簡體   English   中英

當我在服務器中配置 Django 和 Nginx 時,為什么幾個小時后會失去 mysql 連接?

[英]Why lose mysql connection after several hours when i configured Django and Nginx in server?

我在linux服務器的Nginx中配置了我的Django后,我可以正常瀏覽我的網頁並連接mysql,但過了一段時間(可能幾個小時),災難來了,網頁顯示這樣的信息:

2055: 在 'localhost:3306' 與 MySQL 服務器的連接丟失,系統錯誤:32 Broken pipe `

這是完整的錯誤:

Request Method: GET
Request URL:    http://labtine.com/logs/2.html
Django Version: 2.0
Exception Type: OperationalError
Exception Value:    
2055: Lost connection to MySQL server at 'localhost:3306', system error: 32 Broken pipe
Exception Location: /usr/local/lib/python3.7/dist-packages/mysql/connector/network.py in send_plain, line 143
Python Executable:  /usr/local/bin/uwsgi
Python Version: 3.7.6
Python Path:    
['.',
 '',
 '/usr/lib/python37.zip',
 '/usr/lib/python3.7',
 '/usr/lib/python3.7/lib-dynload',
 '/usr/local/lib/python3.7/dist-packages',
 '/usr/lib/python3/dist-packages',
 '/home/cg_log/CG_log/firstApp']

這是顯式錯誤:

......
usr/local/lib/python3.7/dist-packages/mysql/connector/network.py in send_plain
                self.sock.sendall(packet) 
......

真不知道為什么,這個問題困擾了我很久,嚴重打擊了我投身人類的道路。

從現在開始,我在google上搜索了很多,但沒有任何結果,這是Mysql並發的原因嗎?還是其他任何問題?我已經查看了我的錯誤日志,但沒有任何跡象表明此類錯誤......

它是如此復雜以至於這樣的問題在谷歌中沒有可靠的答案或指示,感謝上面的評論者,我現在已經弄清楚了

出現這個問題的原因是我在code前面創建了一個Mysql連接,默認超時8小時后就會失效,所以才會出現這樣的錯誤。

只需將 Linux 服務器中的wait_timeout設置為最大即可解決問題

明確的做法在這里:

https://askubuntu.com/a/892859

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM