Рекомендуемое размещение рельсов и структура файлов на существующем сервере Apache - PullRequest
1 голос
/ 08 мая 2011

Я занимаюсь разработкой приложения с Ruby on Rails (будет еще больше), и оно дошло до стадии, на которой я хотел бы удаленно разместить версию для разработки, а затем рабочую версию. Я много занимался разработкой рельсов, но я проверяю свою текущую настройку и хотел бы убедиться, что сейчас я делаю то, что рекомендовано отраслевым способом.

У меня уже есть выделенный сервер, на котором работает Parallels Plesk и на нем несколько доменов. В настоящее время я добился определенного успеха, создав нового пользователя "passenger" для запуска приложения rails и развернув через него этого пользователя в каталоге приложений в

/var/www/vhosts/myrailsapp.com/subdomains/dev/

- это формат параллелей для каталогов сайтов, развертывание с использованием capistrano и запуск модуля passenger для apache . В основном я помещал свои файлы rails туда, куда я их поместил бы, если бы это был обычный php-сайт или что-то подобное, и мне было интересно, как это обычно делается?

Я также нашел в Интернете некоторую информацию, которая указывает на то, что мои приложения rails под

/ вар / приложения /

или аналогичный, но тогда это может вступить в конфликт с Parallels Plesk способ делать вещи, которые потенциально могут вызвать проблемы, или это может быть?

Я уже смотрел на такие решения, как Heroku , и они не будут работать, так как мне нужно запускать другие программы вместе с моим приложением rails на одном и том же сервере для обработки некоторой синхронизации файлов между серверами в режиме реального времени. файлы, загруженные с помощью приложения. Кроме того, в идеале мне нужно иметь возможность размещать обычные приложения PHP вместе с моими приложениями RoR, чтобы максимально эффективно использовать сервер.

Как в идеале мне следует реализовать такую ​​настройку для безопасного хостинга и развертывания? Если это будет необходимо (т.е. моя текущая установка гораздо менее идеальна), вы можете предположить, что я начинаю с установки ванильного сервера Ubuntu, к которому я был бы открыт, если бы он создал более хорошую систему для управления.

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

Большое спасибо, Питер

1 Ответ

1 голос
/ 09 мая 2011

Обычно плохая идея размещать файлы проекта Rails где-нибудь в общедоступном html-пространстве, потому что вы не хотите, чтобы кто-нибудь мог поместить что-то вроде http://yoursite.com/config/database.yml и получить доступ к конфиденциальной информации.Даже если это невозможно в нормальных ситуациях, это все же может произойти, если у вас есть проблемы с корректным запуском Passenger или чем-то подобным.

Поэтому я бы порекомендовал поместить ваши Rails-приложения в /var/apps или /srv/apps (какмы сделали) и настроим конфигурацию Apache так, чтобы ваш домен или поддомен указывали на этот каталог.

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

...