preload
Апр 17

nginx_passenger_eyecatcher

Начиная с версии 2.2.0 Phusion Passenger приобрел поддержку nginx

Для того, чтобы passenger заработал на nginx, необходимо сначала установить джем:

sudo gem install passenger

Если зеркала Rubyforge еще не обновились и passenger версии 2.2.0 не установился, то его можно забрать с Google Code)

Версии для Apache и Nginx хранятся в одном и том же джеме, что не может не радовать.

Далее вам необходимо выполнить команду passenger-install-nginx-module, схожую с командой установки версии для апача:

sudo passenger-install-nginx-module

В отличие от Apache, Nginx не поддерживает подгружаемые модули, поэтому его необходимо пересобрать заново. Инсталлятор возьмет на себя эту работу, также можно скомпилировать nginx вручную. После установки nginx инсталлятор покажет, как сконфигурировать nginx и развернуть rails-приложение. В общем случае это выглядит так:

server {
    listen 80;
    server_name www.foo.com;
    root /webapps/foo/public;
    passenger_enabled on;   # включаем passenger
}

Более подробные инструкции по установке для Nginx тут.

Если вы предпочитете устанавливать Phusion Passenger из исходников, это тоже возможно, только прочтите сначала файл README.

Также имеется скринкаст по установке от Geoffrey Grosenbach

Связанные записи


Метки:
Янв 15

Карты сайта Google очень хороши, чтобы указать гуглу, где что находится. Частенько этого хотят сеошники, или вы очень часто обновляете контент и хотите, чтобы гугл индексировал вас чаще.
Независимо от того, зачем вам нужны эти файлы, следующий код позволяет вам генерировать карты сайта для динамического сайта на Ruby.
Читать полностью »

Связанные записи


Метки:
Янв 15

Изучаю руби и рельсы. Пишу сам себе памятки. Итак, создаем rake-задание.
Для этого в директорию lib/tasks кидаем файл с расширением .rake. Для определенности пусть это будет print.rake

namespace :print do
  task :o ne do
    attention "Раз!"
  end

  task :two do
    attention "Два!"
  end

  task :three do
    attention "Три!"
  end

  task :first_user => :environment do
    puts User.find(1).first_name
  end

  task :all => [:one, :two, :three]

  def attention(msg)
    puts "Считаем: #{msg}"
  end
end

Вызывается все это так:

rake print:three
Считаем: Три!
rake print:all
Считаем: Раз!
Считаем: Два!
Считаем: Три!

Разберем подробнее:

  • Заключаем наши задания в неймспейс, потом вызываем задание как <неймспейс>:<задание>
  • Использование оператора => в объявлении задания определяет зависимости.
  • Чтобы определить множественные зависимости, используем массив(задание :all в примере выше)
  • зависимость :environment загрузит окружение Rails (задание :first_user)
  • Если задание пустое, то его не нужно заключать в блоки (задание print:all)
  • Вы можете объявлять новые методы для повторного использования кода (метод attention)

Подглядел на http://blog.stonean.com/2007/12/custom-rake-tasks.html

Связанные записи


Метки: