开发者社区> javalxs> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

阿里云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 服务了。


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

相关文章
Linux系统中安装Nginx并完成相关配置
这里有很多版本我们没必要下载最新的也不要下载太老了取一个下载人数比较多的即可。
53 0
Nginx反向代理与负载均衡的理解与配置
Nginx反向代理与负载均衡的理解与配置
45 0
Nginx源码安装,配置开机自启
Nginx源码安装,配置开机自启
87 0
配置nginx文件服务器,使用自签名ssl证书发布https服务
配置nginx文件服务器: 1、解压nginx压缩包到指定位置,进入文件夹,打开命令行窗口:执行命令 ``` ./nginx -V ``` 查看nginx版本信息; 如果有显示-with-http_ssl_module表示已编译openssl,支持安装ssl.
115 0
如何自定义好看的404页面?云服务器+Nginx中加3行配置搞定,小白也能流畅操作
我们来自己设计一个404网页,来给用户一个适当的报错页面,而不是直接报一个打不开的错误。
55 0
Nginx的安装与配置(Centos7、云服务器版)
Nginx的安装与配置(Centos7、云服务器版)
99 0
Nginx配置proxy_pass转发的/路径问题
Nginx配置proxy_pass转发的/路径问题 在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。
1474 0
Linux 下配置nginx到php的连接
在中小企业中,LAMP架构被广泛使用。而对于高并发请求的情形,其Web服务器通常以Nginx居多,因此LNMP组合架构也非常普遍。
1282 0
Nginx虚拟主机配置
什么是虚拟主机 Nginx实现虚拟主机的三种方式 Nginx配置段 基于域名 基于IP 基于端口      什么是虚拟主机?     虚拟主机就是使用特殊的软硬件技术,把一台计算机主机分成多台“虚拟”的主机,每一台虚拟主机都具有独立的域名和IP地址(或共享的IP地址),具有完整的Internet服务器功能。
1222 0
配置nginx支持ssl服务器—HTTPS
下文摘自: http://docs.bigbluebutton.org/install/install.html     Configuring HTTPS on BigBlueButtonAnchor link for: configuring https on bigbluebutton ...
1012 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
1._Alibaba_Cloud_Whitepaper_-_Data_Security_is_Now_More_Important_Than_Ever
立即下载
3D/AR技术在新零售商业场景中的应用
立即下载