GitLab基础:应用架构与组件功能概述

在这里插入图片描述

我们知道GitLab启动会产生很多进程,相应的进程对应不同的功能组件,这篇文章将介绍一下GitLab的应用架构组成部分。

应用架构

在这里插入图片描述

各组件说明

组件名称 功能说明
PostgreSQL 数据库: 持久化数据存放
Redis 数据库:缓存信息存放
Gitlab Shell 处理通过SSH方式的操作要求,一般为Git命令等操作
Nginx Web应用服务器,用于处理通过HTTP或者HTTPS的用户界面操作
GitLab Workhorse 轻量级的反向代理服务器
Unicorn GitLab是ROR的应用,符合Rack标准的应用所使用的HTTP应用服务器,GitLab Rails应用所托管的应用服务器
Sidekiq 用于执行异步的后台队列任务的功能组件
GitLab Pages GitLab所提供的一项功能,允许用户发布从仓库发布静态的web站点

除此之外还有如下组件信息,虽然没有在上图中有显示,但是也是常用的组件

组件名称 功能说明
Logrotate 日志文件管理组件,用于进行日志的轮转操作

组件操作命令

使用gitlab-ctl可以对组件进行操作,简单如下所示:

组件 操作 命令
Redis 启动 gitlab-ctl start redis
Redis 停止 gitlab-ctl stop redis
Redis 重启 gitlab-ctl restart redis
Redis 确认状态 gitlab-ctl status redis
Nginx 启动 gitlab-ctl start nginx
Nginx 停止 gitlab-ctl stop nginx
Nginx 重启 gitlab-ctl restart nginx
Nginx 确认状态 gitlab-ctl status nginx
PostgreSQL 启动 gitlab-ctl start postgresql
PostgreSQL 停止 gitlab-ctl stop postgresql
PostgreSQL 重启 gitlab-ctl restart postgresql
PostgreSQL 确认状态 gitlab-ctl status postgresql
Unicorn 启动 gitlab-ctl start unicorn
Unicorn 停止 gitlab-ctl stop unicorn
Unicorn 重启 gitlab-ctl restart unicorn
Unicorn 确认状态 gitlab-ctl status unicorn
Sitekiq 启动 gitlab-ctl start sitekiq
Sitekiq 停止 gitlab-ctl stop sitekiq
Sitekiq 重启 gitlab-ctl restart sitekiq
Sitekiq 确认状态 gitlab-ctl status sitekiq

另外不带第三个参数即可对整体进程操作,简单如下所示:

组件 操作 命令
GitLab整体服务 启动 gitlab-ctl start
GitLab整体服务 停止 gitlab-ctl stop
GitLab整体服务 重启 gitlab-ctl restart
GitLab整体服务 确认状态 gitlab-ctl status

目录说明

整体目录说明

目录/文件 存放内容说明
/etc/gitlab 配置文件所在目录
/etc/gitlab/gitlab.rb 配置文件
/opt/gitlab 组件二进制文件存放目录
/var/opt/gitlab 各组件配置文件所在目录
/var/opt/gitlab/backups 缺省备份文件保存目录
/var/opt/gitlab/git-data 仓库存储目录

各组件相应目录

以Redis为例,组件的二进制文件、配置文件和日志文件分别在如下目录进行保存

目录 存放内容说明
/var/opt/gitlab/redis 二进制文件存放目录
/var/log/gitlab/redis 日志文件存放目录
/var/opt/gitlab/redis 配置文件存放目录

参考文档

https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/doc/development/architecture.md

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/107926262