Могу ли я запустить Rails и PHP-серверы с одного компьютера?

У меня есть Ubuntu box 10.04, на котором уже настроен стек LAMP.

Я также хотел бы поиграть с Rails на этой машине. Есть ли способ, которым я могу установить Rails, не испортив вещи PHP? Может быть, по умолчанию на сервере PHP и переключиться на сервер Rails, когда я использую определенный порт?

4 ответа

Вы неправильно понимаете, как rails а также php Работа.

Когда ты бежишь rails server в проекте rails он запускает его в порту 3000 по умолчанию (для разработки).

ЛАМПА традиционно работает в порту 80, так что вы можете запустить оба рельса и LAMP одновременно.

Для получения инструкций по правильной установке rails на Ubuntu взгляните на этот ответ.

Да! если вы запускаете их в разных портах... например, localhost:3000 для Rails и 8888 для PHP будут работать нормально!

В производственной среде вы должны рассмотреть возможность использования 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

На более старом виртуальном облачном сервере у меня было около 10 небольших веб-приложений, и я использовал Nginx для моих веб-приложений на Rails и Apache для моих PHP-приложений на одном сервере (также обратите внимание на Phusion Passenger для приложений rails). Nginx был установлен в качестве основного сервера. В разделе виртуальных хостов файла конфигурации nginx, если запрошенный URL-адрес был для приложения PHP, тогда nginx будет служить обратным прокси-сервером и передавать запрос на сервер Apache. Это работает хорошо, потому что снаружи кажется, что все приложения работают через один и тот же порт 80. У меня нет ссылки на исходную статью по установке, за которой я следовал, но вот несколько похожих.

http://kbeezie.com/apache-with-nginx/

https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-reverse-proxy-for-apache

К вашему сведению, на новом сервере, который я сейчас настраиваю, я планирую запускать как свои rails, так и PHP-приложения через сервер nginx.

Другие вопросы по тегам