默认情况下,gitlab使用自带的Nginx,占用80端口,这样就与系统原本安装的Nginx冲突。有完美的解决方案吗?当然!
方案一:通过修改GitLab端口解决冲突
- vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
upstream gitlab-workhorse {
server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}
server {
listen *:80; --修改端口
server_name localhost;
server_tokens off; ## Don't show the nginx version number, a security best practice
......
......
只列举了其中一部分
}
将其中的80改为其它端口即可,如我的是886,执行gitlab-ctl restart
重启gitlab等待网关恢复,重新访问:http://ip:886 即可
方案二:禁用gitlab自带Nginx 并把 UNIX套接字 更改为 TCP端口
禁用捆绑的Nginx
vim /etc/gitlab/gitlab.rb
将
nginx['enable'] = true
修改为
nginx['enable'] = false
并去掉注释 (前边的#)
允许gitlab-workhorse监听TCP(默认端口8181),编辑/etc/gitlab/gitlab.rb:
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:8181"
运行 sudo gitlab-ctl reconfigure
使更改生效。
- 通过系统原本安装的Nginx反代以便提供访问
$ vim /etc/nginx/conf.d/gitlab.conf
server {
listen 80;
server_name gitlab.edevops.top;
location / {
root html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8181;
}
}
systemctl restart nginx
访问:http://gitlab.edevops.top 即可
网友评论