На удаленном сервере, на котором запущен Debian и запущен веб-сервис, написанный на php5;
Во время перехода от php к ruby на рельсах я хотел бы работать одновременно с приложениями Apache php и ruby на приложениях rails.
Я знаю, что это возможно реализовать с использованием пассажирского, но у меня возникают проблемы с его установкой. Итак, в терминале я делаю:
passenger-install-apache2-module
Во время установки появляются следующие сообщения:
1) ВНИМАНИЕ: Apache, похоже, не скомпилирован с ‘prefork’,
MPM «рабочий» или «событие»Phusion Passenger был протестирован только на Apache с «prefork»,
«работник» и «событие» MPM.
Ваша установка Apache скомпилирована с
«итк» MPM. Мы рекомендуем вам прервать этот установщик и
перекомпилировать Apache либо с
«prefork», «работник» или «событие» MPM.
После: sudo apt-get install apache2-mpm-prefork
— Apache перестает работать
Если я продолжу установку, возникнет следующая проблема:
2) Пожалуйста, отредактируйте ваш файл конфигурации Apache и добавьте следующие строки:
LoadModule passenger_module
/home/user/.rvm/gems/ruby-2.1.3/gems/passenger-4.0.53/buildout/apache2/mod_passenger.soPassengerRoot /home/user/.rvm/gems/ruby-2.1.3/gems/passenger-4.0.53
PassengerDefaultRuby /home/user/.rvm/gems/ruby-2.1.3/wrappers/ruby
Но если я добавлю эти строки в файл конфигурации, php перестанет работать.
Кто может подсказать, как решить эту проблему?
[
Хм., Трудности возникли.
sudo apt-get установить libapache2-mod-passenger
работал хорошо
Но я до сих пор не понимаю, как настроить apache для php и ruby на рельсах.
Не могли бы вы проиллюстрировать примеры настроек для httpd, sites-avaliable, mods-avaliable;
Для доступных в любом месте на жестком диске приложений Ruby;
Я надеюсь, что это не выходит за рамки этой проблемы.
]
Я предполагаю, что Apache не работает, когда вы пытаетесь использовать prefork MPM, потому что вы используете опции, специфичные для ITK MPM, не заключая их в IfModule. Поскольку вы переключились с ITK на prefork, эти параметры больше не действительны. Примером такой опции будет AssignUserID
, В этом случае вы найдете жалобы на неизвестные параметры в журнале ошибок.
Есть ли конкретная причина, по которой вы используете ITK MPM? Это не так хорошо проверено с Пассажиром, но оно должно работать, как Пассажирский Apache Руководство пользователя перечисляет некоторые советы, относящиеся к ITK.
О LoadModule
для пассажира: где вы положили эти строки? Вы создали, например, /etc/apache2/mods-available/passenger.load
файл, который вы можете включить? Затем модуль Passenger будет загружаться раньше, чем PHP («pa» предшествует «ph»), и, если это выходит из строя, это может стать причиной вашей проблемы, хотя обычно Apache не запускается, если не может загрузить модуль.
Есть ли что-нибудь полезное в журнале ошибок Apache, например, о невозможности загрузить модуль PHP?
Вы также можете рассмотреть возможность использования готовые пакеты Passenger для Debian доступно от Phusion. У меня были хорошие результаты с ними. Список зависимостей apache2-mpm-itk, поэтому я уверен, что они должны работать.
Других решений пока нет …