из стандартной библиотеки или сервера отладки Bottle и Flask. На производстве вам нужно запускать код на более быстрых серверах. Как правило, вы выбираете один из следующих вариантов:
• Apache с модулем mod_wsgi;
• Nginx с сервером приложений uWSGI.
Оба они работают хорошо: Apache, скорее всего, более популярен, а у Nginx имеется репутация стабильного и тратящего меньше памяти сервера.
Apache
Лучшим WSGI-модулем Apache (http://httpd.apache.org/) является mod_wsgi (https://code.google.com/p/modwsgi/). Он может запускать код, написанный на Python, внутри процесса Apache или в отдельном процессе, который обменивается данными с Apache.
Если вы используете Linux или OS X, в вашей системе Apache уже установлен. Для Windows вам придется устанавливать Apache самостоятельно (http://bit.ly/apache-http).
Наконец, установите предпочитаемый веб-фреймворк Python, основанный на WSGI. Попробуем использовать в наших примерах фреймворк Bottle. Практически вся работа включает в себя конфигурирование Apache, что может оказаться довольно затруднительным.
Создайте тестовый файл и сохраните его как /var/www/test/home.wsgi:
>import bottle
>application = bottle.default_app()
>@bottle.route('/')
>def home():
>····return "apache and wsgi, sitting in a tree"
В этот раз не вызывайте функцию run(), поскольку это запустит встроенный веб-сервер Python. Нам нужно присвоить некоторое значение переменной application, поскольку именно его будет проверять mod_wsgi при объединении веб-сервера и кода Python.
Если Apache и его модуль mod_wsgi работают корректно, нужно лишь соединить их с нашим сценарием Python. Нам нужно добавить в файл одну строку, которая определяет сайт по умолчанию для этого сервера Apache, но поиск этого файла сам по себе является задачей. Он может называться /etc/apache2/httpd.conf, или /etc/apache2/sites-available/default, или даже быть латинским названием чьей-то ручной саламандры.
Предположим, что вы понимаете работу Apache и нашли нужный файл. Добавьте эту строку в раздел , который управляет стандартным сайтом:
>····WSGIScriptAlias / /var/www/test/home.wsgi
Этот раздел должен выглядеть так:
>
>····DocumentRoot /var/www
>····WSGIScriptAlias / /var/www/test/home.wsgi
>····www/test>
>····Order allow,deny
>····Allow from all
>····
>
Запустите Apache или перезапустите его, если работал, чтобы указать ему, что следует использовать новую конфигурацию. Если вы перейдете в браузере по адресу http://localhost/, то должны увидеть эту строку:
>apache and wsgi, sitting in a tree