簡體   English   中英

Django 訪問管理后台時項目崩潰服務器

[英]Django project crashes server when admin backend is accessed

問題

我在本地 ubuntu 服務器上運行 apache2。 我使用django-admin startproject site設置了一個 Django 項目,並設置了我的虛擬主機以使用 WSGI 守護進程運行 Django 項目。 這有效,並且可以通過其 IP 192.168.1.3訪問該站點。

當我 go 到 /admin 時,它允許我登錄並查看初始后端但加載 5 分鍾然后在我單擊任何內容或重新加載時出現 500 錯誤,即使在嘗試訪問非管理員索引頁面時也是如此。 這一直持續到我運行systemctl restart apache2並完全重啟 apache 或等待 ~10-15 分鍾直到它自行修復(如果我訪問 /admin 頁面只會立即再次中斷)。

版本

Django 版本 4.1.5

mod-wsgi 版本 4.9.4

我的嘗試

如果我使用python manage.py runserver運行項目,我可以在192.168.1.3:8000上訪問它並完全使用 /admin 后端,甚至創建新用戶等。然后我認為這是 WSGI 守護進程以某種方式搞砸了,所以我按照此頁面的鏈接部分: https://pypi.org/project/mod-wsgi#using-mod-wsgi-express-with-django並使用python manage.py runmodwsgi運行該站點。 該站點與 /admin 一起在192.168.1.3:8000上完全運行,我可以創建新用戶等,這表明它與 WSGI 設置無關(以及非管理頁面在虛擬主機 WSGI)。

我已經完全刪除並重新啟動了 Django 項目,並使用正確的 WSGI 信息等設置了新的虛擬 host.conf 文件。

我在 Django 3.0 中讀到過一個 /admin 加載問題,但我使用的是 4.1,所以這無關緊要。

在這一點上,我完全不知道問題是什么。 為什么我的 /admin 部分不能在虛擬主機上工作?

編輯:

問題實際上肯定是 WSGI 不知何故。 我得到這是我的 apache 錯誤日志:

[Sun Jan 29 09:27:12.388714 2023] [wsgi:error] [pid 67623:tid 140212873184832] (70007)The timeout specified has expired: [client 192.168.1.10:63055] mod_wsgi (pid=67623): Failed to proxy response from daemon., referer: http://192.168.1.3/admin/
[Sun Jan 29 09:27:14.427470 2023] [wsgi:error] [pid 67624:tid 140211782657600] [client 192.168.1.10:63053] Timeout when reading response headers from daemon process 'Portfolio': /var/www/Portfolio/Portfolio/wsgi.py, referer: http://192.168.1.3/admin/auth/
[Sun Jan 29 09:27:14.949762 2023] [wsgi:error] [pid 67624:tid 140211279357504] [client 192.168.1.10:63056] Timeout when reading response headers from daemon process 'Portfolio': /var/www/Portfolio/Portfolio/wsgi.py, referer: http://192.168.1.3/admin/auth/
[Sun Jan 29 09:27:16.385674 2023] [wsgi:error] [pid 67623:tid 140212856399424] [client 192.168.1.10:63100] Truncated or oversized response headers received from daemon process 'Portfolio': /var/www/Portfolio/Portfolio/wsgi.py

不過,我仍然不知道解決方案是什么。

https://forum.djangoproject.com/t/django-apache-deployment-not-working-as-intended/15800

我找到了解決方案。 在整個設置過程中,從不推薦將WSGIApplicationGroup %{GLOBAL}添加到/etc/apache2/apache2.conf文件,至少我沒有注意到,但它有效並且所有管理功能都通過 WSGI 守護進程在虛擬主機上工作.

希望這可以幫助別人。

暫無
暫無

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

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