Как я могу отдельно перезапустить пакет nginx в gitlab?

Я установил версию Gitlab CE. Я могу найти nginx в Gitlab. Однако я не могу найти способ перезапустить nginx отдельно. Я пробовал sudo service nginx restart, но это дает:

* Restarting nginx nginx                                     [fail] 

Я проверил весь документ, но не могу найти решение. Я пытаюсь добавить vhost в комплектный nginx в соответствии с этим учебником. Но я застрял на этом шаге. Есть ли другой способ добавить vhost в комплект nginx с Gitlab? Или как я могу проверить, работает ли мой nginx conf?

Изменить: ошибка 502, которую я решил.

Я пытаюсь использовать nginx без пакетов в соответствии с этим doc , но после того, как я изменил gitlab.rb и запустил sudo gitlab-ctl reconfigure , я получил 502 Whoops, GitLab is taking too much time to respond. ошибку.

Вот мой gitlab.conf для nginx.

upstream gitlab {
  server unix://var/opt/gitlab/gitlab-git-http-server/sockets/gitlab.socket fail_timeout=0;
  #
}

server {
  listen *:80;
  server_name blcu.tk;
  server_tokens off;
  root /opt/gitlab/embedded/service/gitlab-rails/public;

  client_max_body_size 250m;

  access_log  /var/log/gitlab/nginx/gitlab_access.log;
  error_log   /var/log/gitlab/nginx/gitlab_error.log;


# Ensure Passenger uses the bundled Ruby version
passenger_ruby /opt/gitlab/embedded/bin/ruby;

# Correct the $PATH variable to included packaged executables
passenger_env_var PATH "/opt/gitlab/bin:/opt/gitlab/embedded/bin:/usr/local/bin:/usr/bin:/bin";

# Make sure Passenger runs as the correct user and group to
# prevent permission issues
passenger_user git;
passenger_group git;

# Enable Passenger & keep at least one instance running at all times
passenger_enabled on;
passenger_min_instances 1;

location / {
  try_files $uri $uri/index.html $uri.html @gitlab;
}

 location @gitlab {
    # If you use https make sure you disable gzip compression 
    # to be safe against BREACH attack

    proxy_read_timeout 300; # Some requests take more than 30 seconds.
    proxy_connect_timeout 300; # Some requests take more than 30 seconds.
    proxy_redirect     off;

    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_set_header   Host              $http_host;
    proxy_set_header   X-Real-IP         $remote_addr;
    proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header   X-Frame-Options   SAMEORIGIN;

    proxy_pass http://gitlab;
  }
  location ~ ^/(assets)/  {
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    # gzip_static on; # to serve pre-gzipped version
    expires max;
    add_header Cache-Control public;
  }


  error_page 502 /502.html;
}

person einverne    schedule 06.10.2015    source источник
comment
Чтобы обслуживать другие виртуальные хосты, вы проверяете stackoverflow.com/questions/31762841/   -  person Mutuma    schedule 06.10.2015


Ответы (3)


Чтобы перезапустить только один компонент GitLab Omnibus, вы можете выполнить sudo gitlab-ctl restart <component>. Поэтому для перезапуска Nginx:

sudo gitlab-ctl restart nginx

В качестве дальнейшего примечания, эта же концепция возможна почти для всех команд gitlab-ctl. Например, sudo gitlab-ctl tail позволяет просматривать все журналы GitLab. Применяя эту концепцию, sudo gitlab-ctl tail nginx будет отслеживать только журналы Nginx.

person Drew Blessing    schedule 06.10.2015

В моем туто объясняется, как добавить виртуальные хосты на сервер nginx, НЕ входящий в комплект, а не в комплектный.

Шаги:

  • отключить связанную версию
  • установить автономную версию nginx, скомпилированную с пассажирским модулем,
  • настройте его для обслуживания gitlab в качестве виртуального хоста
  • а затем настройте на нем другие пользовательские виртуальные хосты.

Если sudo service nginx restart вернуться

* Restarting nginx nginx                                     [fail] 

тогда вы, вероятно, установили nginx отдельно с чем-то вроде sudo apt-get install nginx или вы установили перекомпилированную версию с пассажирским модулем pushion, как я объясняю в своем туто?

Вы действительно используете комплектную версию или неправильно поняли этот шаг в моем туто?

Пожалуйста, ответьте на эти вопросы в комментариях, тогда я отредактирую этот ответ, чтобы написать решение, которое вам действительно нужно.

person Rémi Becheras    schedule 06.10.2015
comment
Я должен пропустить некоторые шаги, я забыл, что должен использовать версию nginx НЕ в комплекте. - person einverne; 07.10.2015
comment
После того, как я использую версию nginx без пакета, я столкнулся с ошибкой 502. - person einverne; 07.10.2015
comment
Действительно спасибо за вашу помощь. Я забыл шаг по использованию nginx без пакета. Я помню, что установил nginx, но забыл изменить файл gitlab.rb и перенастроить. - person einverne; 07.10.2015

Чтобы перезапустить связанный nginx, выполните sudo gitlab-ctl restart

person Mutuma    schedule 06.10.2015
comment
Он хочет перезапустить один сервис отдельно от остальных. - person peterh; 06.07.2020