我试图在使用Ubuntu安装GitLab的同一台服务器上托管其他应用程序。根据{{3}}的某些搜索,我发现您可以启用自定义.conf
文件,并将它们指向通常位于/etc/nginx/conf.d/
路径内的位置。引用说将它们放在指定的路径中,但我在/etc
中缺少nginx文件夹。不确定它是否打算不安装在/etc
中,但是为什么这个引用说nginx
应该在那里?
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-enabled
或sites-available
个文件夹?
因此,使用上面的配置,我的 dev.example.com 或 test.example.com 都无法主动运行。他们都无法通过我的浏览器进行连接。不确定是什么让他们两个都无法连接。
答案 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/