ฉันกำลังพยายามปรับใช้แอปขวดอย่างง่ายบน VPS ที่ใช้ Ubuntu 20 และ LAMP
แอพทำงานได้ดีเมื่อฉันรันด้วย วิ่งกระติกน้ำ
จากภายในโฟลเดอร์แอพ
อย่างไรก็ตาม บันทึกเซิร์ฟเวอร์มีข้อผิดพลาด:
[อา. 24 ต.ค. 14:55:03.464311 2021] [wsgi:error] [pid 5655] [client 90.198.214.109:59097] จากแอปนำเข้า FlaskApp เป็นแอปพลิเคชัน
[อา. 24 ต.ค. 14:55:03.464323 2021] [wsgi:error] [pid 5655] [ไคลเอนต์ 90.198.214.109:59097] ไฟล์ "/var/www/FlaskApp/FlaskApp/__init__.py", บรรทัด 1 ใน <โมดูล >
[อา. 24 ต.ค. 14:55:03.464363 2021] [wsgi:error] [pid 5655] [client 90.198.214.109:59097] จากขวดนำเข้าขวด
[อา. 24 ต.ค. 14:55:03.464386 2021] [wsgi:error] [pid 5655] [client 90.198.214.109:59097] ImportError: ไม่มีโมดูลชื่อขวด
รหัสและคำแนะนำนำมาจากที่นี่: https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps
เมื่อไปที่ IP ของเซิร์ฟเวอร์ ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น:
ข้อผิดพลาดภายในเซิร์ฟเวอร์ เซิร์ฟเวอร์พบข้อผิดพลาดภายในหรือการกำหนดค่าที่ไม่ถูกต้อง และไม่สามารถดำเนินการตามคำขอของคุณได้
แก้ไข:
เมื่อฉันรันโค้ดโดยใช้คำสั่ง sudo หลาม __init__.py
มันทำให้ข้อผิดพลาดที่ ไม่สามารถนำเข้าขวดจาก Flask ได้
ขณะใช้คำสั่ง sudo python3 __init__.py
ใช้งานได้ดี ดูเหมือนว่าสคริปต์ใดก็ตามที่เรียกใช้ไฟล์ wsgi กำลังเรียกโดยใช้ไฟล์ หลาม
รูปแบบการโทรที่ทำให้เกิดข้อผิดพลาดที่ไม่สามารถเริ่มสคริปต์ได้