Мы работали над небольшой системой Ruby On Rails (ruby 1.8, rails 3.0.1) для нашего школьного финального проекта; во время разработки мы тестировали сочетание наших машин разработки и Linux-сервера в нашей локальной сети, на котором запущен WEBrick. Для развертывания нам предоставили VPS с запущенным Debian squeeze / sid и свободными руками. варианты развертывания (иными словами: «разберись сам» :)).
Сайт не будет иметь большого объема трафика, поэтому запуск развернутого WEBrick, вероятно, будет работать, но это кажется неправильным, и, учитывая, что это обучающий проект, мы хотели бы делать что-то хотя бы частично правильно. Также, мы хотим сжатие gzip, поскольку часть приложения rails представляет собой веб-сервис json, который будет обслуживать умеренный объем данных - и, насколько я могу судить, серверы ruby обычно не поддерживают это.
В последние несколько дней я много гуглил, чтобы изучить различные варианты, и, думаю, их много! Единственное, что я упреждающе исключаю, - это Apache, в основном потому, что я хочу попробовать что-то новое, а частично потому, что это кажется немного ... неуклюжий.
Прямо сейчас я изучаю чероки + Тонкий, что кажется приличным, но я очень открыт для предложений, если есть что-то более подходящее. Я столкнулся с серверами lighttpd, hiawata и nginx, и я видел упоминания о рубиновых серверах mongrel, пассажирских и единорогах - определенно существует множество возможных перестановок!
Для тестирования в настоящее время мы настраиваем туннели SSH и используем etc / hosts для сопоставления appname.local на 127.0.0.1 - регистрация правильного домена и пробивание дыр в брандмауэре произойдет позже. Основным следствием этого является то, что httpd работает на порту 80, но из-за туннелирования SSH Host:
часть заголовка HTTP-запроса содержит номер порта туннеля.
Чтобы, надеюсь, превратить эти бессвязные разговоры в уместную публикацию, вот несколько вопросов:
www-data
. Имеет ли смысл этот макет?Location:
заголовок ответа. Есть идеи, почему это происходит?Сегодня лучший способ - развернуть рельсы с Capistrano (Влад) и Пассажир с nginx / apache (nginx быстрее, apache чаще). Я использую несколько сайтов с умеренным трафиком с такой настройкой, и он работает без сбоев.
Некоторые примечания:
- Корпоративная версия Ruby быстрее.
- Ruby 1.92 быстрее
- Если у вас ограниченная память (VPS), используйте nginx
Что касается ваших вопросов:
1. Да, может.
2. С помощью capistrano поместите файлы в каталоги текущего и выпуска (чтобы разрешить откат). Почему символическая ссылка? Public принадлежит приложению.
3. То есть Ошибка чероки
4. Сохраняйте тонкость как отдельный процесс под руководством какого-либо руководителя процесса.