原来发表的文章地址:Linux下安装Gitlab;步骤及方式不是最好的;其中 nginx 可以整合到之前就有的Nginx中不需要更改nginx pid让系统运行两个nginx。
系统是Centos7 64位 安装Gitlab版本为 gitlab-ce-10.0.0-ce.0.el7.x86_64
1:第一步下载 Gitlabwget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
2:安装Gitlabyum install -y gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
注:安装后gitlab.rb文件默认在 /etc/gitlab 下
3:配置 gitlab.rb 文件;共有三处分别是:域名、端口、gitlab_workhorse# 指定域名
external_url 'http://gitlab.xxxx.com'
# 默认是8080,这里指定12306
unicorn['port'] = 12306
# 更改端口后需要同步更改这个配置 不然会出现502
gitlab_workhorse['auth_backend'] = "http://localhost:12306"
4:执行 gitlab-ctl reconfigure 命令
执行完成后可以检查一下以下文件,看配置是由有效# 查看 listen 端口是否是 配置的12306
cat /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
# 查看 gitlab_url 是否是配置的 12306
cat /var/opt/gitlab/gitlab-shell/config.yml
如果不是我们配置的端口则需要修改
5:配置Nginx;如果原来没有Nginx则不需要经历这一步骤
首先禁用gitlab自带的nginx,修改 gitlab.rb 文件# 禁用自带nginx
nginx['enable'] = false
然后在原有 Nginx 配置文件中将 /var/opt/gitlab/nginx/conf/ 下nginx.conf 中的内容添加到我们自己的nginx.conf 文件中http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on
gzip on;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
include /opt/gitlab/embedded/conf/mime.types;
proxy_cache_path proxy_cache keys_zone=gitlab:10m max_size=1g levels=1:2;
proxy_cache gitlab;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# gitlab
include /var/opt/gitlab/nginx/conf/gitlab-http.conf;
include /var/opt/gitlab/nginx/conf/nginx-status.conf;
server {
.....
}
}
注:执行 gitlab-ctl reconfigure 命令后才会生成 /var/opt/gitlab 下的文件
6:如果执行了第四步 则执行该步骤,需要赋予权限,否则会出现502chmod -R o+x /var/opt/gitlab/gitlab-rails
注:我的好像在重启 gitlab 后 需要重新 执行该步骤赋予权限;
7:启动 gitlabgitlab-ctl start|stop|restart|status
8:使用命令,查看nginx启动个数ps -ef|grep nginx
如果出现了 gitlab下的nginx,则使用命令将其停掉gitlab-ctl stop nginx
到此差不多就成功了,第一次登陆会让重置 root 的密码,我这里已经重置过了