ฉันกำลังพยายามปรับใช้โครงการ Django บนเซิร์ฟเวอร์ Ubuntu ฉันกำลังติดตามสิ่งนี้ แนะนำ.
แต่ฉันประสบปัญหาเมื่อฉันเรียกใช้คำสั่งนี้ sudo systemctl สถานะ gunicorn
ฉันได้รับข้อผิดพลาดนี้:
â gunicorn.service - ดีมอน gunicorn
โหลดแล้ว: โหลดแล้ว (/etc/systemd/system/gunicorn.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่วันอังคารที่ 31-08-2021 20:53:12 UTC; 6 นาทีที่แล้ว
ทริกเกอร์โดย: â gunicorn.socket
กระบวนการ: 1918 ExecStart=/home/houssem/project/env/bin/gunicorn --access-logfile - --workers 3 --bind unix:/run/gunicorn.sock config.wsgi:application (code=exited, >
PID หลัก: 1918 (รหัส=ออก สถานะ=3)
31 ส.ค. 20:53:12 ubuntu-20-lts gunicorn[1932]: ไฟล์ "<frozen importlib._bootstrap>", บรรทัด 991 ใน _find_and_load
31 สิงหาคม 20:53:12 ubuntu-20-lts gunicorn[1932]: ไฟล์ "<frozen importlib._bootstrap>", บรรทัด 973 ใน _find_and_load_unlocked
31 ส.ค. 20:53:12 ubuntu-20-lts gunicorn [1932]: ModuleNotFoundError: ไม่มีโมดูลชื่อ 'django_extensions'
31 ส.ค. 20:53:12 น. ubuntu-20-lts gunicorn[1932]: [2021-08-31 20:53:12 +0000] [1932] [INFO] พนักงานกำลังออก (pid: 1932)
31 ส.ค. 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [คำเตือน] ผู้ปฏิบัติงานที่มี pid 1931 ถูกยกเลิกเนื่องจากสัญญาณ 15
31 ส.ค. 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [คำเตือน] ผู้ปฏิบัติงานที่มี pid 1932 ถูกยกเลิกเนื่องจากสัญญาณ 15
31 ส.ค. 20:53:12 น. ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [INFO] การปิดระบบ: Master
31 ส.ค. 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [INFO] เหตุผล: ผู้ปฏิบัติงานไม่สามารถบูตได้
31 ส.ค. 20:53:12 ubuntu-20-lts systemd [1]: gunicorn.service: ออกจากกระบวนการหลักแล้ว, รหัส = ออก, สถานะ = 3 / แจ้งเตือน
31 สิงหาคม 20:53:12 ubuntu-20-lts systemd[1]: gunicorn.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
เมื่อฉันเรียกใช้คำสั่งนี้ gunicorn config.wsgi:application --preload -b 0.0.0.0:8000
มันทำงานได้ดีและฉันสามารถเข้าถึงไซต์ได้โดยใช้ที่อยู่ IP
ของฉัน gunicorn.service
และ /etc/systemd/system/gunicorn.socket
ไฟล์มีลักษณะดังนี้:
# /etc/systemd/system/gunicorn.service
[หน่วย]
Description=กูนิคอร์นภูต
ต้องการ = gunicorn.socket
หลังจาก = network.target
[บริการ]
ผู้ใช้=แซมมี่
Group=www-ข้อมูล
WorkingDirectory=/home/sammy/myprojectdir
ExecStart=/home/sammy/myprojectdir/myprojectenv/bin/gunicorn \
--การเข้าถึงไฟล์บันทึก - \
--คนงาน 3 \
--ผูกยูนิกซ์:/run/gunicorn.sock \
myproject.wsgi:application
[ติดตั้ง]
WantedBy=multi-user.target
[หน่วย]
Description=เต้ารับกูนิคอร์น
[เบ้า]
ListenStream=/run/gunicorn.sock
[ติดตั้ง]
WantedBy=sockets.target
คำสั่งทั้งหมดที่กล่าวถึง (ในคำแนะนำ) ที่เกี่ยวข้องกับ gunicorn ก่อนหน้านี้ sudo systemctl สถานะ gunicorn
ทำงานตามที่คาดไว้และพิมพ์ผลลัพธ์เดียวกับในคู่มือ
ฉันค้นหาวิธีแก้ไข แต่ไม่รู้ว่าจะแก้ไขปัญหานี้ได้อย่างไร ฉันยังใหม่กับ Gunicorn
ใครก็ได้ช่วยฉันแก้ไขปัญหานี้ที
ฉันสามารถให้รายละเอียดเพิ่มเติมได้หากข้อมูลที่ให้ไว้ไม่เพียงพอ
แก้ไข
เกี่ยวกับแพ็คเกจ ฉันได้ติดตั้งแพ็คเกจใน virtualenv จากไฟล์ requirement.txt แล้ว: pip ติดตั้ง -r ข้อกำหนด.txt
. นอกจากนี้ ฉันได้ติดตั้งส่วนขยาย django ทั่วโลกแล้ว แต่ยังมีข้อผิดพลาดเดิม