• Какое количество экземпляров одного rails приложения работает одновременно?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Rails потоко безопасное приложение, но само по себе не решает как оно будет работать. Может и так и так.

    Rails - rack совместимый веб фреймворк, который будет работать с любым rack совместимым веб сервером. А уже сервер решает как он будет масштабироваться. Unicorn только форками, но он сразу форкается, а не по запросу. Puma тоже форками, но в каждом форке еще несколько потоков.

    Поэтому перед Rails в проде ставят nginx который способен держать любое количество запросов и ждать пока руби освободится
    Ответ написан
    Комментировать
  • Как исправить ошибку доступа используя Capistrano?

    @Dimka5 Автор вопроса
    Так как сам новичок в этом, пишу ответ как для новичков.
    Я долго пытался сделать что то с паролями, учетными записями ос, но всё это не то.
    Из лога важно понять что идёт запрос с тестового сервера (где приложение) http://000.000.000.003/ на сервер с GitLab с репозиторием http://000.000.000.002/ и хочет он авторизоваться именно на аккаунте GitLab а не на учётке в ОС. Так же я заметил упоминание про SSH.
    В общем я перестал делать всё через пароли. Стал разбираться с SSH, прочитал про него тут https://losst.ru/avtorizatsiya-po-klyuchu-ssh. В общем его надо сгенерировать а потом в панели GitLab в настройках аккаунта добавить его
    Решение
    В конфиге Capistrano изменил ссылку external_url на SSH тип (её можно скопировать на странице репозитория в GitLab)
    git@000.000.000.002:root/nameproject.git
    Зашел на тестовый сервер 000.000.000.003, через удалённый доступ что бы можно было копировать текст.
    Выполнил команду для генерации ключей, нажимал просто Enter ничего не вводил
    ssh-keygen
    Нам нужен публичный, он сгенерировался зедсь, откроем его
    vi ~/.ssh/id_rsa.pub
    Скопируем содержимое файла и вставим в GitLab'е в
    Профиль в правом верхнем углу > Settings > слева список > SSH Keys

    и нажмём кнопку "Добавить ключ"
    Готово. Шаг развёртывания с авторизацией в удалённом репозитории должен быть пройден.
    Ответ написан
    1 комментарий