ฉันกำลังพยายามให้ 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