[英]Gunicorn won't start with can't connect to ('0.0.0.0',443)
[英]Django in Ubuntu 18.04 on Azure VM gunicorn Can't connect to ('0.0.0.0', 80)
我正在嘗試將我的Django應用程序部署到具有Ubuntu 18.04的Azure虛擬機。
8000
使用sudo ufw allow 8000
測試 安裝所有要求之后,當我運行命令時:
python manage.py runserver 0.0.0.0:8000
該應用程序運行,但是當我打開URL時::8000 /
它不會在控制台中返回任何錯誤
更新:通過在
Inbound port rules
下的azure門戶中手動添加端口8000
。 但是:當我嘗試通過gunicorn運行它時:
gunicorn --pythonpath PROJECT PROJECT.wsgi:application --log-file - --bind 0.0.0.0:80
它返回另一個錯誤,如下所示:
[30007] [錯誤]無法連接到('0.0.0.0',80)
這里有什么問題?
您還需要將0.0.0.0:80
添加到入站端口規則。 截至目前,它僅接受8000個端口請求。
然后重試:
gunicorn --pythonpath PROJECT PROJECT.wsgi:application --log-file -b 0.0.0.0:80
在Azure中添加80端口的步驟:
通過在子網或VM網絡接口上創建網絡篩選器,可以在Azure中打開到虛擬機(VM)的端口或創建終結點。 您可以將這些過濾器(用於控制入站和出站流量)放置在連接到接收流量的資源的網絡安全組上。
本文中的示例演示了如何創建使用標准TCP端口80的網絡篩選器(假定您已經啟動了適當的服務並在VM上打開了所有OS防火牆規則)。
1-創建配置為在標准TCP端口80上滿足Web請求的VM之后,您可以:
2-創建一個網絡安全組。
3-創建允許流量的入站安全規則,並將值分配給以下設置:
4-目標端口范圍:80
5-源端口范圍:*(允許任何源端口)
6-優先級值:輸入一個小於65,500且優先級高於默認值的默認值。
將網絡安全組與VM網絡接口或子網相關聯。
要修復有關無法通過python manage.py runserver 0.0.0.0:8000
運行的應用程序的問題,有兩個原因可導致此問題。
8000
添加新的端口規則以對其進行修復,如下圖所示。 圖1.在圖中添加此規則以允許端口8000的入站請求
圖2.添加入站安全規則對話框
編輯settings.py
文件,將允許的主機或IP添加到ALLOWED_HOSTS
陣列中,如下所示。
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ['<your vm ip or DNS name>', 'localhost', '127.0.0.1']
然后運行python manage.py runserver 0.0.0.0:8000
,您可以看到Django默認索引頁,而瀏覽器中沒有任何錯誤,如下圖所示。
注意: gunicorn
服務器監聽端口80
,這是默認的允許入站端口規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.