Score:2

เหตุใด Apache2 จึงไม่พบแอป WSGI ของฉัน

ธง ru

ในคำถามก่อนหน้านี้ ฉันถามวิธีทำให้ mod_wsgi ใช้ Python เวอร์ชันเฉพาะ หลังจากได้คำตอบจากคำถามนั้น ฉันได้สร้างสภาพแวดล้อมเสมือน Python 3.9 และทำให้ WSGI ใช้งาน อย่างไรก็ตาม ตอนนี้แอป Flask ของฉันไม่ทำงานเลย - ฉันเพิ่งได้รับการกำหนดค่าหน้า 404 สำหรับส่วนที่เหลือของไซต์ของฉัน ฉันไม่พบข้อผิดพลาดเมื่อรีสตาร์ท Apache2 และบันทึกข้อผิดพลาดของ Apache ว่างเปล่าเมื่อฉันไปที่ไซต์ ฉันคิดว่าข้อผิดพลาดต้องเกิดจากสภาพแวดล้อมเสมือนจริงของฉัน เนื่องจากฉันได้สร้างแอป Flask ทดสอบก่อนหน้านี้ก่อนที่จะใช้รูปแบบการกำหนดค่าเดียวกัน

สภาพแวดล้อมเสมือนจริงของฉันตั้งอยู่ใน เส้นทาง/ถึง/ของฉัน/แอป/venv/.

เส้นทาง/to/my/app/runner.wsgi:

นำเข้าระบบ

# ทำให้บางสิ่งปรากฏขึ้นในบันทึกข้อผิดพลาดหากมีการเรียกใช้ WSGI เลย
เพิ่ม ValueError()

PROJECT_DIR = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, PROJECT_DIR)

จากแอปนำเข้า my_app เป็นแอปพลิเคชัน

เป็นส่วนหนึ่งของ /etc/apache2/sites-available/000-default-le-ssl.conf:

WSGIDaemonProcess ผู้ใช้ myapp=www-data group=www-data threads=4 python-home=/path/to/my/app/venv/
WSGIScriptAlias ​​/my-app/ path/to/my/app/runner.wsgi

/etc/apache2/mods-available/wsgi.load

LoadModule wsgi_module "/path/to/my/app/venv/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"
WSGIPythonHome "เส้นทาง/ถึง/ของฉัน/แอป/venv"

ระบบปฏิบัติการ: Ubuntu 18.04.5 LTS

Score:1
ธง ru

โอเค ฉันพบปัญหาแล้ว มันโง่จริงๆ โดยพื้นฐานแล้วฉันกำลังเขียน /var/www/my_app แทน /var/www/my-app ใน /etc/apache2/sites-available/000-default-le-ssl.conf. ฉันแก้ไขเส้นทาง ปิดใช้งานไซต์ เปิดใช้งานไซต์ โหลด Apache ใหม่ และตอนนี้มันก็ใช้งานได้ ฉันสงสัยว่าเหตุใด Apache จึงไม่เตือนอย่างน้อยหากไม่สามารถเข้าถึงไฟล์ WSGI ได้

Score:0
ธง my
  • ผู้ใช้คนไหนใช้ Apache?

  • ผู้ใช้นั้นสามารถเข้าถึงแอปพลิเคชัน WSGI ของคุณได้จริงหรือ ตรวจสอบสิ่งนี้โดยเรียกใช้ ls -la บนเส้นทางและส่วนประกอบทั้งหมดหรือโดยใช้ ชื่อ (ชื่ออิ /path/....)

  • SELinux อยู่ในโหมดบังคับใช้หรือไม่ ถ้าใช่ ตรวจสอบบันทึกการตรวจสอบ ตรวจสอบ2ทำไม จะมีประโยชน์ (คุณอาจต้องติดตั้งแพ็คเกจบางอย่าง)

ThatCoolCoder avatar
ru flag
Apache กำลังทำงานโดย `รูท' (1 อินสแตนซ์) และ 'www-data' (หลายอินสแตนซ์) ฉันเชื่อว่าพวกเขาสามารถเข้าถึงไดเร็กทอรีได้ (ซึ่งอยู่ใน `var/www`) เนื่องจากฉันลองทดสอบบางอย่างที่ฉันพบทางออนไลน์ และไดเร็กทอรีทั้งหมดก็มีสิทธิ์ `0777` อยู่ดี ฉันไม่คิดว่าฉันใช้ SELinux เพราะไม่พบคำสั่ง SELinux ทั้งหมด

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา