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

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

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

6
задан 16 January 2012 в 20:00

4 ответа

Вы не понимаете, как работают rails и php.

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

LAMP традиционно работает на порту 80, поэтому вы можете одновременно запустить как rails, так и LAMP.

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

0
ответ дан 16 January 2012 в 20:00

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

0
ответ дан 16 January 2012 в 20:00

На более старом виртуальном облачном сервере у меня было около 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-a-reverse-proxy-for-apache

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

0
ответ дан 16 January 2012 в 20:00

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

0
ответ дан 16 January 2012 в 20:00

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

Похожие вопросы: