11

我使用它的安装指南安装了 gitlab 。一切都很好,但是当我在浏览器中打开 localhost:80 时,我看到的都是消息Welcome to nginx!. 我找不到任何包含任何错误的日志文件。

我在 VirtualBox 中运行 Ubuntu。我的 /etc/nginx/sites-enabled/gitlab 配置文件内容如下:

# GITLAB
# Maintainer: @randx
# App Version: 3.0

upstream gitlab {
  server unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket;
}

server {
  listen 192.168.1.1:80;         # e.g., listen 192.168.1.1:80;
  server_name aridev-VirtualBox;     # e.g., server_name source.example.com;
  root /home/gitlab/gitlab/public;

  # individual nginx logs for this gitlab vhost
  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;

  location / {
    # serve static files from defined root folder;.
    # @gitlab is a named location for the upstream fallback, see below
    try_files $uri $uri/index.html $uri.html @gitlab;
  }

  # if a file, which is not found in the root folder is requested,
  # then the proxy pass the request to the upsteam (gitlab unicorn)
  location @gitlab {
    proxy_read_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
    proxy_connect_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
    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_pass http://gitlab;
  }
}
4

6 回答 6

5

我删除/etc/nginx/sites-enabled/default以摆脱这个问题。

于 2012-12-04T09:44:06.373 回答
5

nginx 文档说:

Server names are defined using the server_name directive and determine which server block is used for a given request. 

这意味着在您的情况下,您必须在浏览器中输入aridev-VirtualBox而不是 localhost。

要使其正常工作,您必须在本地Hosts 文件中输入aridev-VirtualBox并将其指向您的 VirtualBox PC 的 IP。

这看起来如下所示:

192.168.1.1 aridev-VirtualBox
于 2012-12-05T08:11:37.137 回答
1

你的配置文件是对的。# /etc/nginx/sites-enabled/gitlab

也许我认为你的 gitlab 文件链接是错误的。

所以例子:

ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/gitlab

请检查默认内容 == 您的 /etc/nginx/sites-enabled/gitlab 内容

于 2013-02-20T07:04:13.993 回答
1

尝试遵循 orkoden 的建议,从 /etc/nginx/sites-enabled/ 中删除默认站点,但也要注释掉您的listen行,​​因为默认的隐含行应该足够了。

另外,请确保在对这些配置进行更改时,将 gitlab 和 nginx 服务都关闭,并按照先 gitlab 再启动 nginx 的顺序启动它们。

于 2013-01-02T20:08:19.527 回答
0

我改变了这一行:

proxy_pass http://gitlab;

这样 :

proxy_pass http://localhost:3000;

3000 是我的独角兽服务器的端口。

此外,我chown root:ngnix对 conf 文件做了一个,它现在可以工作了。

于 2013-01-29T09:40:15.263 回答
0

老话题,但是当有以前安装的nginx时可能会发生。
$ gitlab-ctl reconfigure
或重新启动不会抱怨,但以前的 nginx 实例实际上可能正在运行,而不是 gitlab 下的那个。
这只是发生在我身上。

关闭并禁用这个旧的 nginx 实例,然后再做一次:
$ gitlab-ctl reconfigure

于 2020-05-06T12:20:00.280 回答