Saya mencoba membuat Python bekerja dengan Apache, namun saya gagal untuk sukses dengan CGI atau mod_python.
Adakah yang tahu tutorial yang bagus atau apa?
Terima kasih.
mod_python
pada dasarnya tidak terawat - Anda harus melihat mod_wsgi
. Instal paket libapache2-mod-wsgi
, lalu terbitkan sudo a2enmod wsgi
untuk mengaktifkannya.
Sama seperti contoh cepat untuk menjalankannya, masukkan sesuatu seperti ini di /etc/apache2/sites-enabled/default
:
WSGIScriptAlias /test /path/to/python/file.py
Dan di dalam file /path/to/python/file.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
Setelah memulai kembali Apache2, setiap permintaan untuk /test
akan berubah menjadi panggilan application()
dalam file python Anda.
Untuk bacaan lebih lanjut, lihat ke WSGI (WebServer Gateway Interface), yang cara Python terintegrasi dengan web-server.
Bonus / Pembaruan:
Python (tidak mengejutkan) memiliki server WSGI kecil di perpustakaan standar untuk pengujian. Jika Anda menambahkan ini di bagian bawah file Anda, Anda dapat menjalankannya sebagai semua executable lama untuk tujuan pengujian, dan kemudian biarkan Apache mengambil alih untuk produksi:
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
ke'200 OK'
per python.org/dev/peps/pep-0333