У меня есть Ubuntu box 10.04, в котором уже настроен стек LAMP.
Я бы тоже хотел поиграть с Rails на этой машине. Есть ли способ, которым я могу установить Rails, не испортив вещи PHP? Может быть, он установлен по умолчанию на сервере PHP и переключается на сервер Rails, когда я использую определенный порт?
Вы не понимаете, как работают rails
и php
.
Когда вы запускаете rails server
в проекте rails, он запускает его по умолчанию для порта 3000
(для разработки).
LAMP традиционно работает на порту 80
, поэтому вы можете одновременно запустить как rails, так и LAMP.
Для получения инструкций по правильной установке направляющих в Ubuntu, взгляните на этот ответ.
В производственной среде вы должны рассмотреть возможность использования Apache для обслуживания ваших проектов Rails.
Самый простой способ - использовать Apache mod-fcgid и запускать железнодорожные проекты через fcgid.
http://gabrito.com/post/running-ruby-on-rails-with-apache-2-and-mod_fcgid
Для повышения производительности мод-пассажир обычно предпочтительнее. Но для начинающих это может быть сложнее, поскольку Ubuntu по умолчанию устанавливает apache2-mpm-prefork + mod-php5. mod-messenger зависит от apache2-mpm-worker, но mod-php5 несовместим с apache2-mpm-worker.
Я использую mod-passenger с apache2-mpm-worker и запускаю скрипт php с помощью mod-fcgid.
https://help.ubuntu.com/community/RubyOnRails#Configure_Apache
На более старом виртуальном облачном сервере у меня было около 10 небольших веб-приложений, и я использовал Nginx для моих веб-приложений Rails и Apache для моих PHP-приложений на одном сервере (также обратите внимание на Phusion Passenger для приложений rails). Nginx был установлен в качестве основного сервера. В разделе виртуальных хостов файла конфигурации nginx, если запрошенный URL-адрес был для приложения PHP, тогда nginx будет служить обратным прокси-сервером и передавать запрос на сервер Apache. Это работает хорошо, потому что снаружи кажется, что все приложения работают через один и тот же порт 80. У меня нет ссылки на исходную статью по установке, за которой я следовал, но вот несколько похожих.
http://kbeezie.com/apache-with-nginx/
К вашему сведению, на новом сервере, который я сейчас настраиваю, я планирую запускать как свои рельсы, так и приложения PHP через nginx сервер.
Да! если вы запускаете их в разных портах ... например, localhost: 3000 для Rails и 8888 для PHP будут работать нормально!