Запуск Rails и PHP на Lighttpd в Linux - PullRequest
       17

Запуск Rails и PHP на Lighttpd в Linux

6 голосов
/ 08 февраля 2011

Что ж, мне интересно, есть ли способ запустить как рельсы, так и PHP на Lighty, на Ubuntu.Я хочу запускать как мои PHP-проекты, так и Rails-проекты на одном сервере / домене.

У меня мало опыта работы с Linux, поэтому простите мою наивность.

Если есть способ сделать этопожалуйста, дайте мне знать :)

Ответы [ 3 ]

3 голосов
/ 10 февраля 2011

Это довольно просто запустить их обоих.Я делаю это все время (ROR для запуска Redmine и PHP для остальных).

У вас есть 2 реальных варианта для ROR.Либо обслуживайте его из FastCGI (что я делаю), либо запускайте его с автономным сервером (например, Mongrel и т. Д.) И прокси-сервером к нему.Оба имеют свои преимущества.Преимущество FastCGI заключается в том, что он автономен (не требует запуска дополнительного сервера).Преимущество автономного приложения заключается в том, что его проще настраивать.

Если у вас есть конкретные вопросы, я могу помочь, но в интернете есть инструкции о том, как это сделать.

Мой lighttpd.conf:

$HTTP["host"] =~ "my.ror.site" {
    server.error-handler-404="/dispatch.fcgi"
    fastcgi.server = (".fcgi" => ("ror_1" => (
            "min-procs"=>8,
            "max-procs" => 8,
            "socket" => "/tmp/myrorlock.fastcgi",
            "bin-path"=> "/path/to/ror/site/public/dispatch.fcgi",
            "kill-signal" => 9,
            "bin-environment" => ( "RAILS_ENV" => "production" )
    )))
}

fastcgi.server = ( ".php" =>
    (
        (
            "socket" => "/tmp/php-fastcgi.socket",
            "bin-path" => "/usr/bin/php-cgi -c /etc/php.ini",
            "min-procs" => 1,
            "disable-time" => 1,
            "max-procs" => 1,
            "idle-timeout" => 20,
            "broken-scriptfilename" => "enable",
            "bin-copy-environment"=> (
                "PATH", "SHELL", "USER"
            ),
            "bin-environment" => (
                "PHP_FCGI_CHILDREN" => "40",
                "PHP_FCGI_MAX_REQUEST" => "50000"
            )
        )
    )
)

И все.Обратите внимание на параметр kill-signal.это важно, иначе вы будете сталкиваться с зомби-процессами везде при каждом перезапуске сервера ...

1 голос
/ 09 февраля 2011

Проверьте fastcgi.conf в подкаталоге conf.d каталога конфигурации Lighty (не уверен, где он находится в Ubuntu, но быстрый поиск предлагает /etc/lighttpd).Есть закомментированные примеры как для PHP, так и для Rails;Объединив их, вы сможете получить нужную настройку (хотя я бы посоветовал сначала установить одну, а затем настроить другую).

FastCGI это метод, с помощью которого Lighty может взаимодействовать с такими средами исполнения, как Ruby или PHP.Lighty также может использовать SCGI, хотя я никогда не использовал его сам и не уверен, насколько хорошо он работает (в последний раз я слышал, что это все еще экспериментальный вариант). страница вики-документации Lighty полезна, хотя она довольно специфична для PHP / MySQL.

0 голосов
/ 08 февраля 2011

Я не использую Lighty. Rails лучше всего обслуживать Passenger и Apache, учитывая возможности дополнения Passenger для Apache. Я работал с Wordpress (PHP) в том же домене, что и мое Rails-приложение, указав его путь куда-то еще. Вот статья для подражания . НТН.

...