Я пытаюсь заставить 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 любой запрос в вашем файле python /test
превратится в вызов application()
.
Для дальнейшего чтения, заглянуть в WSGI (WebServer Gateway Interface), то путь Python интегрируется с веб-серверами.
Бонус / Обновление:
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'
per python.org/dev/peps/pep-0333