前言:
本文將介紹,如何禁用gitlab自帶的nginx,用已經安裝的nginx提供web服務。
1. 修改gitlab的配置文件
禁用自帶nginx,$ vim /etc/gitlab/gitlab.rb
在gitlab.rb中修改為以下配置:
#訪問域名,域名請換成自己的實際域名
external_url 'http://10.122.60.68:12580'
gitlab_rails['trusted_proxies'] = ['127.0.0.1']
#gitlab 數據存放位置
#git_data_dir "/data/gitlab"
#gitlab 附件上傳位置
#gitlab_rails['uploads_directory'] = "/data/gitlab/uploads"
#gitlab 環境協議及訪問地址
## 該地址將用在ngx 的 upstream 配置中,很重要,網上示例大多都寫成了 server unix:/var/opt/gitlab/gitlab-workhorse/socket fail_timeout=0;實際報ngx 的 502 Bad Gateway 錯誤
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:8085"
#gitlab 監聽地址及端口
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8088
#擴展WEB服務(指現有nginx的)的LINUX啟動用戶,請根據實際環境配置
web_server['external_users'] = ['nobody']
#關閉自帶的ngx
nginx['enable'] = false
查看
/var/opt/gitlab/gitlab-rails/etc/unicorn.rb/unicorn.rb
,
#該地址與 gitlab.rb 中的unicorn中的需要一致
listen "127.0.0.1:8088", :tcp_nopush => true
listen "/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket", :backlog => 1024
配置修改完成后,記得一定要生效配置信息 gitlab-ctl reconfigure ,否則無法生效
2. nginx配置
使用單獨的nginx配置gitlabserver.conf,$ vim NGINX_HOME/gitlabserver.conf
#
upstream gitlab-workhorse {
#該處與gitlab 中的 gitlab_workhorse 一致
server 127.0.0.1:8085;
}
server {
listen 12580;
#listen [::]:80 ipv6only=on default_server;
server_name gitlab.68.com;
server_tokens off; ## Don't show the nginx version number, a security best practice
#return 301 https://$http_host$request_uri;
location / {
#proxy_pass http://gitlab.68.com:12580;
proxy_pass http://gitlab-workhorse;
}
access_log /usr/local/openresty/nginx/logs/gitlab_access.log;
error_log /usr/local/openresty/nginx/logs/gitlab_error.log;
}
3. 重載
gitlab-ctl reconfigure
gitlab-ctl restart
"$NGINX_HOME"/sbin/nginx -s reload