Настройте FastCGI для Python

IMO, хорошая практика никогда не должна удалять учетные записи, просто отключать их. тем путем они не могут быть снова использованы.

6
задан 5 April 2010 в 05:10
3 ответа

trac должен быть теперь совместимый WSGI, таким образом, можно использовать любой поддерживаемый метод для выполнения сайта. Если это - сайт низкого трафика, можно всегда использовать CGI и в конечном счете переместиться во что-то еще позже при необходимости в нем. Для других методов использовать mod_wsgi или установка flup для FCGI (даже если это установило дополнительные зависимости).

Использовать flup, необходимо импортировать соответствующий сервер WSGI, затем выполнить его, т.е.

from flup.server.fcgi_fork import WSGIServer
def main_app(...):
  ...

WSGIServer(main_app).run()

Если Вы хотите выполнить его как внешний сервер (т.е. не запущенные веб-сервером), заменить этим:

WSGIServer(main_app,bindAddress=('1.2.3.4',9999)).run()
3
ответ дан 3 December 2019 в 00:37
  • 1
    Посмотрите выше оценки mod_wsgi (несохраняемый, веб-сервер, выполняющий несколько различных механизмов выполнения сценариев). Я не могу найти документацию относительно того, как установить flup, сделать Вас, имеют любые руководства. Насколько я могу сказать, Nginx doesn' t просто выполняет CGI, ему нужен (Быстрый) сервер CGI для запущения скриптов. –  Rob 6 April 2010 в 21:18
  • 2
    Добавленный к ответу для форматирования. –  Dan Andreatta 6 April 2010 в 22:27
  • 3
    Ограбить. Я думаю, что Вы найдете от большинства людей, предложение состоит в том, чтобы использовать Apache/mod_wsgi больше, чем nginx/mod_wsgi. Apache/mod_wsgi определенно не ' unmaintained' и имеет обильные суммы документации для движения с ним также. –  Graham Dumpleton 7 April 2010 в 02:58

Почему FastCGI в особенности? В Python существует стандартный интерфейс для записи приложений веб-сервера, названных WSGI. Различные серверы служат основами для того, чтобы сделать это; например, mod_wsgi для Apache. Для nginx, кажется, существует: http://wiki.nginx.org/NginxNgxWSGIModule, который даже основан на mod_wsgi.

0
ответ дан 3 December 2019 в 00:37
  • 1
    nginx/mod_wsgi can' t действительно, как говорить, быть основанным на Apache/mod_wsgi. Автор nginx/mod_wsgi посмотрел на Apache/mod_wsgi, использовал подобные понятия и именование конфигурации для частей, но потому что внутренности nginx очень отличаются к Apache, код - вполне прилично все новое. Просто будьте осторожны относительно того, для чего Вы используете nginx/mod_wsgi в качестве использования underyling основанных на событии проблем повышений веб-сервера во много конфигурациях процесса, где у Вас есть блокирование WSGI на вершине. Считайте ' blog.dscpl.com.au/2009/05/… '. –  Graham Dumpleton 6 April 2010 в 12:30
  • 2
    @Phil: WSGI является единым интерфейсом для всех методов для динамического контента, быть этим CGI, FCGI, SCGI или апачский модуль (mod_wsgi, которые заменяют mod_python). На самом деле flup обеспечивает сервер WSGI, с механизмом соединения FCGI. –  Dan Andreatta 6 April 2010 в 12:55
  • 3
    @Phil, это doesn' t кажутся, что этот модуль был активно разработан в тихом некоторое время. Я выполняю веб-сервер с PHP, Python & сценарии Perl. Мне имеет больше смысла использовать FastCGI вместо модулей, учитывая мою низкую память установка VM. –  Rob 6 April 2010 в 21:14
  • 4
    @Dan, который моя проблема с flup - то, что это абсолютно не документировано. Я не знаю то, что flup, ни как использовать его. Доверие недокументированному программному обеспечению хобби пугает меня. Завтра парень мог удалить свой код и заменить его LOLCats. –  Rob 6 April 2010 в 21:15
  • 5
    @Graham: на URL я дал, дизайн был под влиянием, и он одалживает код у, mod_wsgi. Я предполагаю " базирующийся on" был слишком сильный оператор.Прошу прощения. @Dan-Andreatta: Я знаю, как они имеют отношение; it' s просто, что FastCGI, казалось, был чрезмерно сильным оператором требований, учитывая представленную проблему, и разрабатывающий для работы с WSGI, IMO, способ пойти. @Rob: хорошо, существующее использование FastCGI для других языков является достаточной причиной придерживаться общей платформы.:) –  Phil P 7 April 2010 в 06:46

Хорошо человек, flup используется Django самостоятельно. Потрясающий метод для выполнения Python fastcgi приложения, если у Вас нет mod_wsgi или чего-то подобного.

Код для выполнения flup:

from flup.server.fcgi import WSGIServer

def app(environ, start_response):
  start_respone('200 OK', [('Content-Type', 'text/plain')])
  yield "Hello World"

WSGIServer(app).run()
1
ответ дан 3 December 2019 в 00:37

Теги

Похожие вопросы