ฉันกำลังพยายามให้ Python ทำงานกับ Apache ได้ แต่ฉันล้มเหลวในการประสบความสำเร็จกับ CGI หรือ mod_python
ไม่มีใครรู้ว่าการสอนที่ดีหรืออะไร?
ขอบคุณ
ฉันกำลังพยายามให้ Python ทำงานกับ Apache ได้ แต่ฉันล้มเหลวในการประสบความสำเร็จกับ CGI หรือ mod_python
ไม่มีใครรู้ว่าการสอนที่ดีหรืออะไร?
ขอบคุณ
คำตอบ:
mod_python
เป็นพื้นไม่ใช่การบำรุงรักษา - mod_wsgi
คุณควรมีลักษณะเป็น ติดตั้งแพคเกจlibapache2-mod-wsgi
แล้วออกsudo a2enmod wsgi
เพื่อเปิดใช้งาน
เป็นเพียงตัวอย่างด่วนในการใช้งานสิ่งต่างๆเช่นนี้ใน/etc/apache2/sites-enabled/default
:
WSGIScriptAlias /test /path/to/python/file.py
และในไฟล์/path/to/python/file.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
หลังจากเริ่มต้น Apache2 อีกครั้งคำขอใด ๆ ที่/test
จะเปลี่ยนเป็นการเรียกapplication()
ในไฟล์หลามของคุณ
สำหรับการอ่านเพิ่มเติมดูเป็น WSGI (เว็บเซิร์ฟเวอร์ Gateway Interface) วิธีบูรณาการหลามกับเว็บเซิร์ฟเวอร์
โบนัส / อัพเดท:
Python (ไม่แปลกใจ) มีเซิร์ฟเวอร์ WSGI ขนาดเล็กในไลบรารีมาตรฐานสำหรับการทดสอบ หากคุณเพิ่มสิ่งนี้ไว้ที่ด้านล่างของไฟล์ของคุณคุณสามารถเรียกใช้มันเป็นไฟล์เก่าที่ใช้สำหรับการทดสอบและจากนั้นให้ Apache ใช้แทนการผลิต:
if __name__ == '__main__':
from wsgiref.simple_server import make_server
httpd = make_server('', 8080, application)
print "Serving on http://localhost:8080"
httpd.serve_forever()
200
ที่จะ'200 OK'
ต่อpython.org/dev/peps/pep-0333