пятница, 21 ноября 2014 г.

Ruby on Rails показывает пустую страницу после деплоя на locum.ru

Если говорить о деплое Ruby on Rails на хостинг locum.ru, то это отображение пустой страницы при переходе по url проекта может быть вызвана рядом причин.

1. Попробуйте перезапустить мастер-процесс unicorn проекта, зайдя в админку locum и нажав на кнопку "Перезапустить проект" в настройках проекта.

2. Если по-прежнему по обращению по url проекта отображается пустая страница, то проверьте файл: config/secrets.yml:
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

Вы определяли на сервере locum значение этой переменной?

3. Определим переменную SECRET_KEY_BASE на сервере locum. Для этого зайдем на сервер и добавим ее в ~/.bashrc:
    $ ssh hosting_kenny@fluorine.locum.ru
    $ vim ~/.bashrc

В редакторе vim откроется указанный файл. Добавьте в конец строку:
# Содержимое ОБЯЗАТЕЛЬНО заключите в ДВОЙНЫЕ квычки
export SECRET_KEY_BASE="AAAAB ...I5t9YYbX"

Содержимое этой переменной можно сгерерировать у себя на ПК. Для этого нужно перейти в корневую папку своего проекта и запустить команду:
    $ rake secret
f400fdd1ad5fb822012c3a09a8b5f7871f9e35105198b5d69
d7623167934b810c011397ae921800e234405bddbf05bbc8
1f5f8730f06a5a443c4bb784b499705

4. Проверим, видит ли Ruby установленную переменную. Откроем новое окно терминала и зайдем на удаленный сервер locum. Запустим интерактивную консоль ruby (irb):
    $ ssh hosting_kenny@fluorine.locum.r
    $ irb
    irb(main):002:0> ENV['SECRET_KEY_BASE']

Вы должны увидеть значение, которое вы установили этой переменной.
Через админку хостинга locum перезапустите проект.
После этого данная переменная станет доступна в окружении сервера, и вы не будете видеть пустой страницы, когда перейдете по url своего проекта.

Если данный способ вам не помог, просто откройте файл config/secrests.yml и определите secret_key_base для среды production непосредственно:

production:
  secret_key_base: edb5d003ae05f ..... da17d5bc

Комментариев нет:

Отправить комментарий