Назад | Перейти на главную страницу

Могу ли я скомпилировать Passenger (mod_rails / mod_rack) для создания статически связанного Apache httpd?

Я предпочитаю отключать загрузку динамического модуля httpd на моем рабочем сервере.

Я довольно давно использую mod_jk, статически связанный с httpd, и он оказался стабильным.

Теперь я хотел бы добавить Ruby Passenger (mod_rails / mod_rack) в свой httpd.

Интересно, можно ли так же статически связать его с Apache httpd? (без создания огромного httpd)

Если да, то есть ли какие-либо потенциальные подводные камни, проблемы с безопасностью или производительностью, когда и mod_jk, и mod_rails находятся в одном исполняемом файле?

Спасибо

Динамические общие объекты может легче решить вашу проблему. Это не только позволит вам использовать статически скомпилированный mod_rails, но и любой другой скомпилированный модуль, который вы хотите загрузить по мере необходимости.

По сути, как только вы статически скомпилируете mod_so модуль, любые другие статически скомпилированные модули могут быть добавлены или удалены с помощью команды LoadModule в httpd.conf.

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

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