阿里云ESC 部署 GitLab-ce 并配置使用外部 nginx-阿里云开发者社区

开发者社区> javalxs> 正文

阿里云ESC 部署 GitLab-ce 并配置使用外部 nginx

简介: 在阿里云 ESC 上部署 GitLab 社区版并配置使用外部的 nginx。
+关注继续查看

最近试着在阿里云的 ESC 上部署了一下 GitLab 的社区版本,并且使用了非内嵌的 nginx 服务,遇到不少坑,特意记录一下。

首先是安装 GitLab 社区版,具体安装的流程按照官网的说明来进行。GitLab 官方提供了 Omnibus包安装、社区提供的安装方法、和官方的其他安装方法。这里推荐使用 Omnibus 包来安装,这也是官方推荐的方式。用这个包安装部署gitlab,便于后期的配置修改和更新。
Omnibus 包安系统版本分为不同的包,我的系统是 Centos7的,所以采用对应7的安装包。步骤如下:

一 官方Centos7的安装说明地址

https://www.gitlab.com.cn/installation/#centos-7


1.安装相关依赖,打开系统防火墙的 HTTP 和 SSH的访问。

sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

2.添加GitLab 镜像源并安装

curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce

3.配置并启动服务

sudo gitlab-ctl reconfigure
4.通过访问上面配置的域名来重新设置管理员密码。

这里需要注意,因为我们后面要改用外部的 nginx 服务,要 copy 使用 gitlab 默认生成的 nginx 服务配置文件,所以在第三步先不要修改任何信息,直接执行配置命令即可。


GitLab 服务安装部署完成,接下来是配置该服务使用外部的 nginx 来访问。

GitLab默认使用内部的 nginx 服务作为代理访问,按照官网的说明,可以使用已有的外部 nginx 来代替。官网的修改步骤地址:

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

按照这个步骤修改,有些繁琐。下面有一个偷懒的方法:

还记得上面的安装步骤中,最后配置的那一步吗?我们在执行这一步的时候,先不要修改任何配置,由 reconfigure 操作生成 GitLab 使用内部 nginx 的所有配置文件,然后将相关的配置文件 copy 到本地使用的 nginx 服务的配置目录,配置相关访问域名就可以了。

GitLab 默认生成的 nginx 配置文件位置在 /var/opt/gitlab/nginx/conf。

1.将gitlab-http.conf 和nginx-status.conf copy 到本地的 nginx 配置目录就可以了。然后参考 GitLab 的 nginx.conf 内容,修改本地的 nginx 配置,重启 nginx 服务。

2.修改 GitLab 的配置文件内容,位置在/etc/gitlab/gitlab.rb。修改内容如下:

在配置文件结尾,添加如下信息:

#定义访问域名
external_url 'http://git.example.com'
#禁用内部 nginx
nginx['enable'] = false
#配置可以访问 gitlab 工作目录的用户,赋予 nginx 用户对该目录的读写权限
web_server['external_users'] = ['nginx','gitlab-www','git']
编辑以上内容后保存,重新执行 gitlab 的配置操作。

sudo gitlab-ctl reconfigure

以上操作完成后,即可以正常访问 gitlab 服务了。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
会员卡开卡表单模板配置(alipay.marketing.card.formtemplate.set)JAVA版本demo
官方接口文档:[url]https://docs.open.alipay.com/251/105668/[/url],我这里写的是开卡组件前两步的操作流程,仅供参考 1.调用接口前的准备工作(创建应用等)参考该文档:[url]https://docs.
703 0
外部配置属性值是如何被绑定到XxxProperties类属性上的?--SpringBoot源码(五)
外部配置属性值是如何被绑定到XxxProperties类属性上的?--SpringBoot源码(五)
542 0
[喵咪MQ(3)]RabbitMQ集群安装配置
在各项生产环境使用中,容灾总是一个很重要的话题,如果单点故障会导致整个系统奔溃或者是丢失数据是不是好气好气的,领导会追着你问这是怎么了?你只能说是我们没有经验什么什么组件故障了,这个是低级玩法,高级玩法是配置好集群容灾,告诉老板死一两台机器宕机了没有事没有影响,所以我们今天就来讲讲RabbitMQ的集群模式.
2219 0
如何正确使用 Flink Connector?
本文主要分享 Flink connector 相关内容,分为以下三个部分的内容:第一部分会首先介绍一下 Flink Connector 有哪些。第二部分会重点介绍在生产环境中经常使用的 kafka connector 的基本的原理以及使用方法。第三部分答疑,对社区反馈的问题进行答疑。
9483 0
PolarDB-X 1.0-SQL 手册-Outline-使用说明
在使用DRDS数据库的过程中,可能遇到某些SQL优化器生成的执行计划,并不是期望的结果,或者生成的计划并不是最优的,比如有些Join、Aggregate 函数可以下推到下层RDS执行的,但是并没有下推。OUTLINE功能提供了一种给SQL指定执行计划的方式,用户可以通过Hint的方式手工构建SQL的执行计划,并通过OUTLINE的方式指定SQL的执行计划为用户构建的执行计划。
8 0
+关注
8
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载