GitLab Omnibus失去了&nginx' nginx'文件夹在'等'

时间:2016-05-28 18:52:35

标签: ubuntu nginx gitlab gitlab-omnibus

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

更新1:

Per,@ 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-enabledsites-available个文件夹?

更新2:

因此,使用上面的配置,我的 dev.example.com test.example.com 都无法主动运行。他们都无法通过我的浏览器进行连接。不确定是什么让他们两个都无法连接。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

Gitlab安装过程创建/etc/nginx/conf.d是不正确的。

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

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

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

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

重要提示:只要文件/opt/nginx/conf.d更新,请不要忘记重新运行/etc/gitlab/gitlab.rb,以便您的更改生效。

如果不清楚,请告诉我。希望有所帮助!

答案 2 :(得分:0)

如果通过Omnibus安装程序安装了GitLab,则相关文件(通过已安装的GitLab实例)可能期望位于 / etc / gitlab 下–而不是 / etc / nginx < / em> –目录。

来自Manually configuring HTTPS – NGINX settings | GitLab

  

由于我们示例中的主机名是'gitlab.example.com',因此omnibus-gitlab将分别查找名为/etc/gitlab/ssl/gitlab.example.com.key/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/