首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用现有Nginx安装转发到GitLab子域

使用现有Nginx安装转发到GitLab子域
EN

Stack Overflow用户
提问于 2015-04-02 00:36:56
回答 6查看 14.7K关注 0票数 13

不过,我一直在关注来自GitLab wiki的说明,但似乎缺少了一些关键信息。在“使用非捆绑Web”一节中,它从未解释过如何重新配置我的Nginx安装以将代理反向转换到GitLab。

基本上,我希望GitLab安装在git.example.com下,但我似乎找不到我现有的Nginx安装的配置设置。wiki页面继续讨论如何配置现有的乘客/Nginx安装,但我没有乘客,所以我认为这不适用于我的情况。

我想最简单的解决方案是告诉Gitlab使用它内置的Nginx,然后监听一个内部端口,然后让我的其他Nginx转发到那个端口,但是我似乎不知道如何配置Gitlab来处理这个问题。

任何帮助都将不胜感激。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2020-08-04 00:51:20

基于@赛博奇斯的回答,我简化了这个过程,并完成了两次相同的设置。我希望它也适用于你。

  1. 检查nginx的用户 1.1。用nginx.conf打开nano /etc/nginx/nginx.conf。 1.2。检查一下一号。行user www-data;,这里的用户是www-data
  2. 编辑external_url of gitlab 2.1。用gitlab.rb打开nano /etc/gitlab/gitlab.rb。 2.2。将行external_url 'GENERATED_EXTERNAL_URL'编辑为external_url 'http://gitlab.yourdomain.com'。 2.3。取消注释并将行nginx['enable'] = true更改为nginx['enable'] = false。 2.4。取消注释并将行web_server['external_users'] = []更改为web_server['external_users'] = ['www-data']
  3. 为gitlab添加一个配置文件 3.1。从gitlab储存库下载gitlab-omnibus nginx.conf。 3.2。转到文件所在的目录,并使用cp /directory-to-this-file/gitlab-omnibus-nginx.conf /etc/nginx/sites-enabled将该文件复制到nginx。 3.3。用nano /etc/nginx/sites-enabled/gitlab-omnibus-nginx.conf打开这个文件。 3.4。将该行listen 0.0.0.0:80 default_server;更改为在端口7001上运行的listen 0.0.0.0:7001; // gitlab 3.5。将该行listen [::]:80 default_server;更改为在端口7001上运行的listen [::]:7001; // gitlab 3.6。将该行server_name YOURSERVER_FQDN更改为server_name www.yourdomain.com
  4. 配置nginx 4.1。用nginx.conf打开nano /etc/nginx/nginx.conf。 4.2。添加此配置
代码语言:javascript
运行
复制
http {

   ...
  
   server {
       listen 80;
       server_name gitlab.yourdomain.com;
       location / {
           proxy_pass http://127.0.0.1:7001;
       }
   }
}
  1. 重新配置gitlab并重新加载nginx 5.1。sudo gitlab-ctl reconfigure 5.2。sudo systemctl reload nginx
  2. 将防火墙配置为导出端口7001 (可选) 由于gitlab运行在我的本地服务器上,因此必须允许端口7001从外部到达。启用它的最简单方法是运行ufw allow 7001

现在,gitlab运行在您应该访问的子域gitlab.yourdomain.com上。

票数 10
EN

Stack Overflow用户

发布于 2015-04-02 15:01:20

我让它起作用了!好兴奋啊!

因此,正如我所说的,我试图跟随这些指示,但我什么也没有得到,因为它似乎缺乏关于如何将现有的Nginx安装链接到Gitlab的指导。

好吧,在页面的另一端,他们对使用现有的乘客/ Nginx安装有了更完整的解释,虽然一开始看起来并不像我想要的那样,但乘客的研究表明,这并不是仅仅是ruby的东西(他们容易找到的安装说明要求您将它作为一个红宝石安装),而且他们的Ubuntu安装说明允许我合理地将它集成到我现有的Nginx中。

从那里开始,它只是遵循wiki中的步骤,尽管有一些更改。

  1. 现有乘客/Nginx装置部分没有提到非捆绑式Nginx安装上的前一节所说的,您需要将www-data添加到gitlab.rb文件中的web_server['external_users']行。
  2. 由于我在第一次运行Gitlab之前重新配置了Gitlab安装以删除捆绑的Nginx,所以/var/log/gitlab/nginx/gitlab_access.log上的nginx日志文件就不存在了,这在Nginx试图启动时导致了一个错误,只需创建这个空白文件并赋予它正确的读/写访问权限,它就像一种魅力一样工作。

我现在非常兴奋,希望将来任何有问题的人都能看到这一点,Wiki真的应该被更新,只需删除/合并这两个部分,并解释/链接如何将乘客安装到现有的Nginx安装中。会帮我省去很多困惑和浪费时间。

票数 12
EN

Stack Overflow用户

发布于 2016-02-16 23:07:45

在Ubuntu上使用现有的Nginx服务器运行

  1. 安装gitlab
  2. 编辑配置文件/etc/gitlab/gitlab.rb并取消注释或追加以下内容:
    • nginx‘’enable‘= false
    • 独角兽‘’enable‘= false
    • gitlab_rails‘gitlab_api_url’= 'http://git.yourdomain.com
    • web_server‘’= 'www-data‘

  1. 启动捆绑的postgres数据库服务器
    • sudo gitlab-ctl启动postgresql

  1. 重新配置
    • sudo gitlab-ctl重新配置

  1. 将git实验室的nginx配置文件添加到/etc/nginx/sites-available/gitlab-example.conf中,并通过启用站点的启用它。

  1. 启用nginx 乘客

  1. 重新启动nginx
    • sudo服务nginx重启

  1. 启动redis
    • sudo gitlab-ctl启动redis

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29403212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档