23

我已经安装了 Gitlab CE 版本。我可以在 Gitlab 中找到捆绑的 nginx。但是我找不到单独重启 nginx 的方法。我试过sudo service nginx restart了,但它给出了:

* Restarting nginx nginx                                     [fail] 

我检查了所有文件,但找不到解决方案。我正在尝试根据本教程将 vhost 添加到捆绑的 nginx 中。但我停留在了那一步。有没有其他方法可以将 vhost 添加到与 Gitlab 捆绑的 nginx 中?或者如何检查我的 nginx conf 是否工作?

编辑:我已经解决了 502 错误。

我尝试根据this doc使用NON-bundle nginx ,但是在我修改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;
}
4

3 回答 3

46

要仅重新启动 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 日志。

于 2015-10-06T16:08:58.343 回答
0

我的教程解释了如何将虚拟主机添加到非捆绑的 nginx 服务器,而不是捆绑的服务器。

步骤是:

  • 禁用捆绑版本
  • 安装使用乘客模块编译的独立 nginx 版本,
  • 将其配置为将 gitlab 用作虚拟主机
  • 然后在其上配置其他自定义虚拟主机。

如果sudo service nginx restart返回

* Restarting nginx nginx                                     [fail] 

那么您可能使用类似的东西单独安装了 nginx,sudo apt-get install nginx或者您安装了带有推送乘客模块的重新编译版本,正如我在我的教程中解释的那样?

您真的使用捆绑版本还是在我的教程中误解了这一步?

请在评论中回答这些问题,然后我将编辑此答案以编写您真正需要的解决方案。

于 2015-10-06T13:36:48.533 回答
-2

要重新启动捆绑的 nginx,请执行sudo gitlab-ctl restart

于 2015-10-06T13:58:42.530 回答