Gitlab: проблемы с запуском Unicorn, Resque с Passenger/Nginx

Я установил Gitlab на новый Ubuntu (10.04), и он работает почти правильно. Gitlab доступен по HTTP, я могу передавать/извлекать данные через git на сервер. Однако не хватает одной вещи: лента активности не обновляется. Поэтому я подумал, что с git-хуками что-то не так. Я полностью выполнил процесс установки из Gitlab, за исключением того, что я хотел бы использовать Passenger для запуска Nginx для развертывания нескольких приложений.

Я запускал sudo -u gitlab -H bundle exec rake gitlab:env:info RAILS_ENV=production, чтобы убедиться, что все настроено правильно, но он сказал, что Redis не работает. ps aux говорит, redis-server встал. Так что это не git-хуки. В документе Gitlab говорится: перезапустите службу gitlab, чтобы решить эту проблему. В этом случае я получаю сообщение об ошибке, которое, как мне кажется, является проблемой, которую мне нужно решить:

$ sudo /etc/init.d/gitlab restart
Error, unicorn not running!

Мой вопрос, как я могу обойти эту проблему? Как я могу запустить unicorn, я думал, что служба gitlab запустит его? Я не использую Nginx? Прежде чем я начну переустанавливать все это сначала без использования Passenger, я подумал, что могу заранее задать вопрос здесь.


person pabera    schedule 05.01.2013    source источник
comment
Что содержит журнал единорога? Ищите любые файлы журналов для получения дополнительной информации о том, что блокирует запуск gitlab (и, в частности, redis)   -  person VonC    schedule 05.01.2013
comment
Что ж, журнал Redis не говорит ничего впечатляющего. В журнале Unicorn была последняя запись журнала пару дней назад, и в нем говорится, что он не может подключиться к базе данных MySQL через сокет.. Он работает, Gitlab использует правильно.. Может я где-то пропустил конфиг? В конфиге единорога нет ничего особенного...   -  person pabera    schedule 05.01.2013
comment
Затем, если эти журналы не обновляются, на стороне nginx это не работает. Есть журнал с той стороны?   -  person VonC    schedule 05.01.2013
comment
Те же ошибки mysql, но пару дней назад.. это может быть нормально, потому что я забыл запустить mysql в первую очередь..   -  person pabera    schedule 05.01.2013
comment
Хорошо, я решил проблему. Я понял, что мои службы nginx и mysql еще не запустились после перезагрузки моего сервера, но службы gitlab запустились. Как только я запускал nginx или mysql вручную, процессы gitlab умирали. Я не мог узнать почему.   -  person pabera    schedule 05.01.2013
comment
Порядок запуска этих служб может быть важен. Сначала запускаю mysql, потом nginx, потом gitlab. Для GitLab я использую тот же скрипт, что и на их веб-сайте: github.com/VonC /compileEverything/blob/master/gitlab/gitlabd   -  person VonC    schedule 06.01.2013


Ответы (2)


Как упоминается OP pabera, nginx и mysql должны быть запущены, чтобы другие компоненты GitLab (redis, unicorn, а теперь и sidekiq) работали правильно.

Официальный /etc/init.d/gitlab находится здесь.

У меня есть моя собственная версия gitlabd (здесь), потому что я управляю sidekiq в моем собственном скрипте, и мне не нужно запускать сценарий как root.

Вы можете увидеть порядок запуска всех сервисов в этом скрипте:

  • ssh
  • Apache и/или NGiNX
  • mysql
  • редис
  • GitLab (который запустит unicorn и sidekiq)
person VonC    schedule 09.02.2013
comment
/gitlab/github: Нет такого файла или каталога Ошибка, единорог не работает! - person FDisk; 12.02.2013
comment
@FDisk не уверен, что вы имеете в виду. мой скрипт основан на клоне gitlab, сделанном в $HOME/gitlab/github, за исключением того, что он использует специальное значение для HOME: $H (которое для вас должно быть пустым). Он не предназначен для прямого использования, если только вы не создадите всю среду с помощью make_env.sh (цель состоит в том, чтобы скомпилировать все необходимое для git/GitLab в каталоге пользователя по его/ее выбору, следовательно, $H представляет этот каталог) - person VonC; 12.02.2013

Типа тыкать в темноте...

В GitLab install.md README указано:

"

Запустите свой экземпляр GitLab:

sudo service gitlab start
# or
sudo /etc/init.d/gitlab restart

"

Я сделал первое И второе и получил именно эту ошибку. Однако я пропустил «или» и перешел к командам Nginx, и, похоже, это работает.

Надеюсь это поможет!

person Cody    schedule 27.03.2013