代码仓库,gitlab使用相当广泛,大小公司基本都会使用到,下面简单介绍下gitlab高可用环境的搭建过程
整体架构图
服务器信息(随便写的IP):
vip:1.1.1.1
nginx主节点 :2.2.2.2
nginx备节点:3.3.3.3
gitlab主节点:4.4.4.4
gitlab从节点:5.5.5.5
数据库IP:6.6.6.6 5432
操作系统都为centos7
1·nginx安装配置
nginx主节点 :2.2.2.2
nginx备节点:3.3.3.3
1.1·nginx安装
下载安装包 解压
/configure --prefix=/data/nginx
make
make install
安装完创建软连接,方便管理nginx:
ln -s /data/nginx/sbin/nginx /usr/bin/nginx
配置文件(主备一样):这里用的是nginx四层转发
user www;
worker_processes 2;worker_cpu_affinity 01 10;
worker_priority -5;
worker_rlimit_nofile 65535;error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;
#worker_cpu_affinity 01 10;
events {
worker_connections 10240;
}
stream {
log_format main '[ $time_iso8601 ] - [ $protocol ] - [ $remote_addr ] - '
'[ $session_time ] - [ $upstream_addr ] - [ $upstream_connect_time ] - [ $status ]';upstream gitlab_ssh {
server 4.4.4.4:22;
#server 5.5.5.5:22;
}server {
access_log logs/gitlab-ssh-acc.log main;
listen 1122;
proxy_pass gitlab_ssh;
proxy_connect_timeout 1h;
proxy_timeout 1h;
}upstream gitlab_http {
server 4.4.4.4:80;
#server 5.5.5.5:80;
}server {
access_log logs/gitlab-http-acc.log main;
listen 80;
proxy_pass gitlab_http;
proxy_connect_timeout 1h;
proxy_timeout 1h;
}}
1.2·keepalived安装
下载安装包keepalived-2.0.20.tar.gz
安装前线安装下面的东西 不然会有对应的报错
OpenSSL is not properly installed on your system.
安装
/configure --prefix=/data/keepalived
make
make install
配置
# keepalived启动脚本变量引用文件,默认文件路径是/etc/sysconfig/,也可以不做软链接,直接修改启动脚本中文件路径即可(安装目录下)
[root@localhost /]# cp /data/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived
# 将keepalived主程序加入到环境变量(安装目录下)
[root@localhost /]# cp /data/keepalived/sbin/keepalived /usr/sbin/keepalived
# keepalived启动脚本(源码目录下),放到/etc/init.d/目录下就可以使用service命令便捷调用
[root@localhost /]# cp /root/wxl_src/keepalived-2.0.20/keepalived/etc/init.d/keepalived /etc/init.d/keepalived
# 将配置文件放到默认路径下
[root@localhost /]# mkdir /etc/keepalived
[root@localhost /]# cp /data/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
- 加为系统服务ÿ