Как я устанавливаю Apache с FastCGI и Ruby?

необходимо подменить переданные пакеты для появления, как будто они происходят из брандмауэра

iptables-t туземная ПОДМЕНА-A POSTROUTING-s 192.168.128.0/24-o eth0-j

иначе возвращаемые пакеты будут прибывать к Вам от внутренних узлов самостоятельно, кто видит внутренние адреса и отправляет пакеты непосредственно назад. Таким образом, Вы отправляете запросы к 190.200.229.102, но получаете ответы от 192.168.128.x, ее довольно нормальное, которое не знает Ваша машина, что сделать с ними :)

9
задан 25 January 2010 в 17:14
4 ответа

Ну, тем временем я понял этого. С тех пор на этом предмете не было никакой краткой рецензии, вот начало одного. То, когда у меня есть все ошибки, сгладило, я отправлю это некоторым учебным сайтам.

  1. Удостоверьтесь, что основа fastcgi апачский модуль установлена. Если Вы используете ArchLinux, как я делаю, mod_fcgid на работах Аура. В других дистрибутивах установите или mod_fcgid или mod_fastcgi. (Для тех, кто задается вопросом различие, я не думаю, что существует очень, таким образом, я пошел для того с большим количеством действия.)

  2. В Вашем httpd.conf файле активируйте модуль путем добавления строки к началу определений LoadModule. Не уверенный, если это имеет значение, какими дистрибутивами, но на Arch это было Loadmodule fcgid_module modules/mod_fcgid.so

  3. Добавьте новый раздел к своему httpd.conf. Я поместил это только под разделом cgid_module, но я - вполне уверенное местоположение, было бы произвольно.

    <IfModule fcgid_module>
      AddHandler fcgid-script .fgci
    </IfModule>
    
  4. Теперь от моего понимания, любой файл, имеющий .fcgi расширение в каталоге, отмеченном, ExecCGI будет теперь обработан fastcgi модулем, который был установлен. Я установил этот пакет, чтобы дать Ruby fastcgi привязку, внутренняя часть каталог ExecCGI, я записал этот сценарий тестирования test.rb.fcgi

    #!/usr/bin/ruby -w
    require 'fcgi'
    
    count = 0
    FCGI.each_cgi do
      puts "Content-type: text/html\n\n"
      puts "Hello, Ruby! FastCGI(#{count})"
      count = count + 1
    end
    

Теперь, когда Вы переходите к той странице в своем браузере с тех пор count вне fastcgi цикла, он должен увеличить с каждым просмотром страницы. Если это так, fcgi является установкой правильно.

9
ответ дан 2 December 2019 в 22:31
  • 1
    скидка с цены argh. дает мне некоторую реальную проблему с этим сообщением. –  sdellysse 27 January 2010 в 01:54
  • 2
    Ваш код - в списке, таким образом, 4 добавления отступа пробелов не недостаточно. Я заставляю его не работать с 8 пробелами. –  augustin 28 August 2010 в 03:51

Необходимо изучить использование Пассажира для обработки приложения направляющих (даже если Вы не используете функций направляющих как ActiveRecord и т.д.). Существует много веб-сайтов, работающих на нем (плюс, у них есть Rails Enterprise, меньше памяти, лучшей производительности),

1
ответ дан 2 December 2019 в 22:31
  • 1
    Как указано в вопросе, I' m, не используя направляющие. Но спасибо так или иначе. –  sdellysse 25 January 2010 в 21:14
  • 2
    Для записи: Пассажир Phusion не только запускает приложения направляющих. Это поддерживает Стойку, также. Таким образом, если Ваше веб-приложение использует Стойку, можно попытаться развернуть его с Пассажиром Phusion. –  joschi 1 March 2010 в 08:13

Apache должен породить их использующий интерфейс fastcgi. Это оставит их работающий в течение некоторого времени, однако, и каждый процесс, как ожидают, обработает больше чем один запрос, прежде чем это будет завершено Apache.

0
ответ дан 2 December 2019 в 22:31

Апач порождает указанные процессы fcgi по мере необходимости? Я запускаю их вдоль апача стороны?

Apache породит их для Вас. Можно определить минимальный и максимальный номер процессов для порождения в httpd.conf, и он породит новые и уничтожит устаревшие на основе объема входящих запросов. Пока у Вас есть входящие запросы, Ваш процесс будет продолжать бежать.

1
ответ дан 2 December 2019 в 22:31

Теги

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