ฉันมีแอป Django สองแอปที่ทำงานบนเซิร์ฟเวอร์ Debian กับ Gunicorn
พอร์ตหนึ่งทำงานบนพอร์ต 80(app1) อีกพอร์ตหนึ่งทำงานบนพอร์ต 84(app2) แอป 1 ทำงานได้ดี แต่เมื่อพยายามเปิด app2 ฉันได้รับ 502 Bad Gateway จาก Nginx การกำหนดค่าทั้งสองเกือบจะเหมือนกัน ฉันไม่รู้ว่าทำไมสิ่งนี้ถึงไม่ทำงาน ฉันยังมีแอปที่สามทำงานอยู่ แต่แอปนั้นทำงานบน Flask IIRC
ไซต์พร้อมใช้งาน/app2
เซิร์ฟเวอร์ {
ฟัง 84;
แอป server_name2;
ที่ตั้ง / {
รวม proxy_params;
proxy_pass http://127.0.0.1:7000;
}
ตำแหน่ง / คงที่ / {
รูท /home/app1;
try_files $uri =404;
}
}
มีไซต์/แอป1
เซิร์ฟเวอร์ {
ฟัง 80;
แอป server_name1;
ที่ตั้ง / {
รวม proxy_params;
proxy_pass http://127.0.0.1:8000;
}
ตำแหน่ง / คงที่ / {
รูท / โฮม / django;
try_files $uri =404;
}
สถานที่ /bestanden/ {
รูท /home/django/files;
add_header Pragma สาธารณะ;
add_header แคชควบคุม "สาธารณะ";
}
}
/etc/systemd/system/app1.service
[หน่วย]
คำอธิบาย=App1
หลังจาก = network.target
[บริการ]
ประเภท = ง่าย
ผู้ใช้ = ราก
ExecStart=/bin/bash /home/app1/bin/start-app.sh
รีสตาร์ท = เมื่อล้มเหลว
[ติดตั้ง]
WantedBy=multi-user.target
/home/app1/bin/start-app1.sh
ซีดี /home/app1/app
echo "เปิดใช้งาน"
แหล่งที่มา /home/app1/env/bin/activate
ก้อง "กำลังเริ่ม"
# conf.py มีตัวแปรสภาพแวดล้อมบางอย่างสำหรับแอป
gunicorn -c "/home/app1/env/bin/gunicorn.conf.py" app1.wsgi
/etc/systemd/system/pricescraper.server
[หน่วย]
คำอธิบาย=App2
หลังจาก = network.target
[บริการ]
ประเภท = ง่าย
ผู้ใช้ = ราก
ExecStart=/bin/bash /home/app2/bin/start-app.sh
รีสตาร์ท = เมื่อล้มเหลว
[ติดตั้ง]
WantedBy=multi-user.target
/home/app2/bin/start-app2
ซีดี /home/app2/app/
ที่มา /home/app2/venv/bin/activate
gunicorn -c "/home/app2/venv/bin/gunicorn.conf.py" app2.wsgi -b 192.168.188.43:7000
เมื่อฉันดูที่ error.log ฉันได้รับสิ่งนี้:
[ข้อผิดพลาด] 1560#1560: *1 การเชื่อมต่อ() ล้มเหลว (111: การเชื่อมต่อถูกปฏิเสธ) ขณะเชื่อมต่อกับอัปสตรีม ไคลเอ็นต์: 192.168.188.199 เซิร์ฟเวอร์: แอป2 คำขอ: "GET / HTTP/1.1" อัปสตรีม: "http:/ /127.0.0.1:7000/", โฮสต์: "192.168.188.43:84"
ฉันไม่รู้ว่ามันหมายถึงอะไร การกูเกิ้ลมันจบลงด้วยคำถามที่พวกเขาใช้ซ็อกเก็ตและเพิ่งลบคำนำหน้า ULR ซึ่งใช้ไม่ได้กับฉัน ส่วนที่แปลกประหลาดที่สุดคือเมื่อฉันเปิด 192.168.188.43:7000 ฉันเปิด index.html แต่ไม่มีการโหลดไฟล์แบบสแตติกใด ๆ ซึ่งรวมถึง JS ที่จำเป็น ดังนั้นฉันจึงไม่สามารถทดสอบแบ็กเอนด์ได้
ได้โปรดช่วยชื่นชม!