专栏首页RFFAN实验室[gitlab]自定义Nginx服务器

[gitlab]自定义Nginx服务器

RT

Gitlab的rpm包是包含了所有的需要的软件,包括redis,Nginx,PQ(和MySQL类似排名比mysql低一点的关系型数据库)等。

但是有些时候,我们都已经安装了这些东西中的某一部分,所以,只能在yum安装后配置一下。

以Nginx为例,这里我们需要严格按照官方的教程来:

英文原地址:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#using-a-non-bundled-web-server

默认的GitLab是采用Unix Socket跑的(当然Unix Socket的效率比http的效率要高,但是有时候你的nginx不在本机,这就需要我们通过http来代理了,不过不在本篇的叙述范围,有时间我在说。),所以我们只需要在gitlab的配置上就只需要配置5个位置,都是在文件

/etc/gitlab/gitlab.rb

1、禁用默认的Nginx

nginx[‘enable’] = false

2、设置nginx的用户组 (就是你所使用的Nginx 的用户组,我用军哥的一键包,用户组是www)

因此我改成

web_server[‘external_users’] = [‘www’]

这个是一个数组,你可以添加多个,但是我不建议

3、添加信任的代理(如果你是本地Nginx,那么久按照下面来吧)

gitlab_rails[‘trusted_proxies’] = [‘localhost’,’127.0.0.1′]

4、Apache才要配置,Nginx没必要

gitlab_workhorse[‘listen_network’] = “tcp” gitlab_workhorse[‘listen_addr’] = “127.0.0.1:8181”

到这里,gitlab的配置完成了

使用命令gitlab-ctl reconfigure搞定重新运行配置

剩下的就是配置Nginx的配置了。

一般抄一下/var/opt/gitlab/nginx/conf/gitlab-http.conf的配置就OK了,如果你不懂Nginx配置,那么你就放弃挣扎,默认gitlab会使用hostname来当做访问域名,因此如果你TMD真不懂,你就改一下hostname,然后再安装gitlab,如果这也不会,那我也无能为力。

最后使用socket饭袋的时候,socket文件需要能被nginx访问,但是gitlab有时候生成的socket文件是git:git 用户和用户组的

为了git用户组,和www用户都能访问

我们可以使用chown -R www:git 来赋予Nginx访问和git的访问写入权限。

至此我们完成了使用自己的Nginx来饭袋gitlab的操作。

最后还有点小瑕疵就是你发送邮件的时候,还是会显示用你的hostname作为邮件的主域名,而有些时候我们的hostname并不能正常访问,因此我们还是需要设置一个选项的就是下面的

external_url ‘https://www.togit.cc’

吧上面的网址替换成你自己的就OK了。

Update Log:2017-10-09

新装gitlab的时候会莫名其妙的装个apache?然后替换掉lnmpa(我用军哥的lnmpa包)的apache启动和重启脚本。因此,需要你自己去重新替换掉。否则当你的apache挂掉重启之后,你会发现TMD你配置文件都没问题,但是你的apache总是提示你没法绑定80端口。我找了1小时才想起来看他的启动脚本,发现全TMD不是lnmpa的apache路径才恍然大悟,原来启动脚本本替换了。蛋疼的很。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [翻译]CentOS7 下Samba 服务器搭建1

    [翻译前]:严格来说,这篇文章不算翻译,因为不算是全盘直接翻译的。而是加入了自己的理解的。当然时间有限,也就弄了个匿名的(也就是不需要密码的。)如果英文够好,可...

    用户2353021
  • 彻底理解position与anchorPoint

    http://wonderffee.github.io/blog/2013/10/13/understand-anchorpoint-and-position/

    用户2353021
  • [Spring Boot] Spring boot 使用@Value 注解获取的配置属性为null的原因

    如果不好的,我可以解释一下,这是由于你写的类并没有被Spring boot实例化为Java bean。需要实例化。

    用户2353021
  • gitlab访问错误Whoops, GitLab is taking too much time to respond

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    拓荒者
  • 手把手教你在centos7上安装GitLab服务器

    GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git...

    lyb-geek
  • gitlab搭建全过程

    工程设计领域中使用版本控制管理工程蓝图的设计过程。在 IT 开发过程中也可以使用版本控制思想管理代码的版本迭代。

    疯狂的KK
  • Gitlab备份、迁移、恢复和升级

    自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上。备份、迁移、恢复、升级过程如下

    山山仙人
  • 安装并配置gitlab

    GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

    kevinfaith
  • Gitlab安装使用及汉化配置

    一、GitLab简介 GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设...

    shaonbean
  • Ubuntu 环境下 gitlab 安装说明

    然后点击 Ubuntu 的安装过程.进去之后,按照第一步说的运行命令. 这里 使用的 Ubuntu 版本 是 18.04。

    多云转晴

扫码关注云+社区

领取腾讯云代金券