1

我正在尝试在使用 Ubuntu 安装 GitLab 的同一台服务器上托管其他应用程序。根据对GitLab 文档的一些搜索,我发现您可以启用自定义.conf文件并将它们定向到它们通常应该位于/etc/nginx/conf.d/路径内的位置。参考资料说将它们放在指定的路径中,但我在/etc. 不确定它是否打算不安装在 中/etc,但是为什么这个参考说nginx应该在那里?

更新1:

根据@bradrini 的回复,我已经设法/etc/nginx/conf.d使用名为example.conf. 我设置的域结构是在dev.example.com上有 GitLab,并将这个其他应用程序指向test.example.com。下面是我对这个新域的nginx配置:

server {
    # Using my actual IP here which houses GitLab and my test.example.com domain
    listen                  111.111.111.11:443 default_server ssl;

    # What the domain will be called
    server_name             test.example.com; 

    # Wildcard cert used for GitLab
    ssl_certificate         /etc/gitlab/ssl/dev.example.com.crt 

    # Wildcard key used for GitLab
    ssl_certificate_key     /etc/gitlab/ssl/dev.example.com.key 

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        # Root file directory for the test.example.com domain
        root   /var/www/test.example.com/html;

        index  index.html index.htm;
    }

}

我现在没有连接到我的test.example.com域,这很好,因为它最初转发到我的 GitLab 域(dev.example.com)。

我现在认为这个问题是由 nginx 配置问题引起的?还有什么我可能错过的我应该检查的吗?我需要担心任何sites-enabled文件sites-available夹吗?

更新 2:

因此,使用上面的配置,我的dev.example.comtest.example.com都不会主动运行。他们都无法根据我的浏览器连接。不知道是什么让他们两个都无法连接。

4

3 回答 3

0

Gitlab 安装过程创建/etc/nginx/conf.d.

值得庆幸的是,Gitlab 文档中指定的路径只是一个示例。您可以在配置设置中指定任何目录位置nginx['custom_nginx_config']来配置 nginx 以搜索其他配置文件。

考虑到这一点,您有两个选择:

  • 取消注释中的nginx['custom_nginx_config']/etc/gitlab/gitlab.rb并使用建议的自定义 nginx 配置位置/etc/nginx/conf.d/*.conf。如您所见,您需要自己手动创建目录,sudo mkdir -p /etc/nginx/conf.d然后才能复制自定义nginx配置。

  • 或者作为替代方案,取消注释的值nginx['custom_nginx_config']并将值更改为/etc/nginx/conf.d/*.conf您希望将自定义 nginx 配置存储在的其他位置,例如/opt/nginx/conf.d. 当然,您应该再次手动确保该目录确实存在并包含您要添加的 nginx 配置。

重要提示:每当文件/etc/gitlab/gitlab.rb更新时,不要忘记重新运行gitlab-ctl reconfigure以使您的更改生效。

于 2016-05-30T06:28:01.453 回答
0

如果您通过 Omnibus 安装程序安装了 GitLab,则相关文件可能(由您安装的 GitLab 实例)位于/etc/gitlab - 而不是/etc/nginx - 目录下。

来自手动配置 HTTPS – NGINX 设置 | 亚搏体育app

/etc/gitlab/ssl/gitlab.example.com.key因为我们示例中的主机名是“gitlab.example.com”,omnibus-gitlab 将分别查找名为和的私钥和公共证书文件/etc/gitlab/ssl/gitlab.example.com.crt。创建/etc/gitlab/ssl目录并在那里复制您的密钥和证书。

$ sudo mkdir -p /etc/gitlab/ssl
$ sudo chmod 700 /etc/gitlab/ssl
$ sudo cp gitlab.example.com.key gitlab.example.com.crt /etc/gitlab/ssl/
于 2018-10-26T13:56:55.907 回答
0

安装 nginx 时,会创建 /etc/nginx/ 文件夹。然后,如您所说,编辑 /etc/nginx/nginx.conf 以检查 /etc/nginx/conf.d/ 文件夹。确保您是 ' root' 能够看到所有内容,并检查 /usr/local/nginx/ 文件夹(他们说 conf 文件也可以在那里,我猜它可能来自您安装的版本)。

于 2016-05-29T10:25:30.463 回答