• Gitlab搭建安装及使用中遇到的问题。


    一、CentOS7安装gitlab-ce

    1.下载及安装rpm软件包。

    下载RPM包

    curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.9.8-ce.0.el7.x86_64.rpm

    安装RPM包

    rpm -i gitlab-ce-8.9.8-ce.0.el7.x86_64.rpm

    2.修改Gitlab配置文件。

    vim /etc/gitlab/gitlab.rb

    external_url 'http://gitlab.federico.xin:7389'
    

      以上的配置文件是确定gitlab监听的域名以及ip地址,当我们设置完成后执行以下命令将配置写入所有配置文件当中。

    重新加载配置文件

    gitlab-ctl reconfigure

    3.启动Gitlab服务并检查服务是否正常启动。

    启动Gitlab

    gitlab-ctl start

    ok: run: gitlab-workhorse: (pid 5294) 0s
    ok: run: logrotate: (pid 5296) 0s
    ok: run: nginx: (pid 5300) 0s
    ok: run: postgresql: (pid 5302) 0s
    ok: run: redis: (pid 5306) 0s
    ok: run: sidekiq: (pid 5309) 0s
    ok: run: unicorn: (pid 5312) 0s
    

    检查Gitlab进程是否成功启动

    ps aux|grep git

    git       5271 57.6 11.2 399596 212268 ?       Rl   10:29   0:07 ruby /opt/gitlab/embedded/service/gem/ruby/2.1.0/bin/unicorn -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
    git       5294  0.0  0.2  37768  4036 ?        Ssl  10:29   0:00 /opt/gitlab/embedded/bin/gitlab-workhorse -listenNetwork unix -listenUmask 0 -listenAddr /var/opt/gitlab/gitlab-workhorse/socket -authBackend http://localhost:8080 -authSocket /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket -documentRoot /opt/gitlab/embedded/service/gitlab-rails/public -pprofListenAddr
    root      5296  0.0  0.0  11628  1408 ?        Ss   10:29   0:00 /bin/sh /opt/gitlab/embedded/bin/gitlab-logrotate-wrapper
    root      5300  0.0  0.1  37608  2920 ?        Ss   10:29   0:00 nginx: master process /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx
    gitlab-+  5302  0.2  1.8 532352 34240 ?        Ss   10:29   0:00 /opt/gitlab/embedded/bin/postgres -D /var/opt/gitlab/postgresql/data
    gitlab-+  5306  0.0  0.4  37400  7864 ?        Ssl  10:29   0:00 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0
    git       5309 43.8  3.0 159376 58368 ?        Rsl  10:29   0:02 ruby /opt/gitlab/embedded/service/gem/ruby/2.1.0/bin/sidekiq -q post_receive -q mailers -q archive_repo -q system_hook -q project_web_hook -q gitlab_shell -q incoming_email -q common -q pages -q elasticsearch -q default -e production -r /opt/gitlab/embedded/service/gitlab-rails -t 4 -c 25
    git       5312  0.0  0.0  11632  1516 ?        Ss   10:29   0:00 /bin/bash /opt/gitlab/embedded/bin/gitlab-unicorn-wrapper
    gitlab-+  5313  0.0  0.2  41700  5172 ?        S    10:29   0:00 nginx: worker process
    gitlab-+  5314  0.0  0.0  37760  1492 ?        S    10:29   0:00 nginx: cache manager process
    gitlab-+  5315  0.0  0.0  37760  1492 ?        S    10:29   0:00 nginx: cache loader process
    gitlab-+  5330  0.0  0.0 532584  1184 ?        Ss   10:29   0:00 postgres: checkpointer process
    gitlab-+  5331  0.0  0.0 532584  1192 ?        Ss   10:29   0:00 postgres: writer process
    gitlab-+  5332  0.0  0.0 532584   944 ?        Ss   10:29   0:00 postgres: wal writer process
    gitlab-+  5333  0.0  0.1 533572  2384 ?        Ss   10:29   0:00 postgres: autovacuum launcher process
    gitlab-+  5334  0.0  0.0  26556  1264 ?        Ss   10:29   0:00 postgres: stats collector process
    git       5339  0.0  0.0   4308   344 ?        S    10:29   0:00 sleep 1
    gitlab-+  5340  0.0  0.4 638200  7964 ?        Ss   10:29   0:00 postgres: gitlab gitlabhq_production [local] idle
    root      5342  0.0  0.0 112656   960 pts/0    S+   10:29   0:00 grep --color=auto git
    root     32239  0.0  0.0   4328   488 ?        Ss   09:41   0:00 runsvdir -P /opt/gitlab/service log: ...........................................................................................................................................................................................................................................................................................................................................................................................................
    root     32260  0.0  0.0   4320   540 ?        S    09:41   0:00 svlogd -tt /var/log/gitlab/redis
    root     32343  0.0  0.0   4320   536 ?        S    09:41   0:00 svlogd -tt /var/log/gitlab/postgresql
    root     32426  0.0  0.0   4320   540 ?        S    09:42   0:00 svlogd -tt /var/log/gitlab/unicorn
    root     32458  0.0  0.0   4320   544 ?        S    09:42   0:00 svlogd -tt /var/log/gitlab/sidekiq
    root     32468  0.0  0.0   4176   344 ?        Ss   09:42   0:00 runsv gitlab-workhorse
    root     32469  0.0  0.0   4320   540 ?        S    09:42   0:00 svlogd -tt /var/log/gitlab/gitlab-workhorse
    root     32475  0.0  0.0   4320   340 ?        S    09:42   0:00 svlogd -tt /var/log/gitlab/nginx
    root     32487  0.0  0.0   4320   540 ?        S    09:42   0:00 svlogd -tt /var/log/gitlab/logrotate
    

      以上,我们已经将Gitlab服务启动完成,并监听在7389端口,下面我们开始配置前端nginx反向代理Gitlab。

    二、配置Nginx反向搭理Gitlab

    1.修改Nginx配置文件

    vim /etc/nginx/conf.d/gitlab.conf

    upstream  git{
        server  ip:port;
    }
    
    
    server{
        listen 80;
        server_name gitlab.federico.xin;
    
        location / {
            client_max_body_size 500m;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://git;
            index index.html index.htm;
        }
    }
    

    2.检查并重启Nginx

    nginx -t

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

    nginx -s reload

    三、使用Gitlab过程中遇到的各种问题以及解决措施

    1.fatal: The remote end hung up unexpectedly

      在push代码到库时,出现上述报错,原因是因为上传的git包过大,可以通过以下设置解决此问题。
    git config http.postBuffer 524288000

    2.error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large

      出现以上问题同样是因为上传软件包过大,需要我们在nginx参数中进行调整设置文件传输大小的限制。需要注意的是,如果是反向代理的Gitlab需要我们将两台服务器的nginx都进行设置。
    grep -r "client_max_body_size" /var/opt/gitlab/

    /var/opt/gitlab/nginx/conf/gitlab-http.conf:  client_max_body_size 500M;
    /var/opt/gitlab/nginx/conf/nginx.conf:  client_max_body_size 50m;
    

    vim /var/opt/gitlab/nginx/conf/nginx.conf

    client_max_body_size 500m;
    

    nginx -t
    nginx -s reload

  • 相关阅读:
    Delphi 多线程知识
    程序员最后归宿是什么?30或35想转行?
    做技术的最终出路!
    路在何方?分析程序员人生之路
    一个垂直滚动的插件
    jQuery 动画中 缓动效果的应用
    [转]jQuery性能优化指南 I
    jQuery 标记当前函数 开始写一个简单的插件
    我发现我写的这俩函数太好用了~~
    jQuery浏览器版本判断
  • 原文地址:https://www.cnblogs.com/Cherry-Linux/p/8276317.html
Copyright © 2020-2023  润新知