我目前正在尝试在我的私有Debian服务器上安装Gitlab omnibus,它在端口80上完美运行,问题是我还有一个Apache服务器在端口80上侦听。所以我正在尝试让Nginx监听端口8080,但出于某种原因,我得到了一个 “502 Gitlab没有响应“错误 我已经编辑了gitlab.rb中的“external_url”以及nginx.conf文件中服务器块下的端口号。并没有快乐。
如果有人可以帮助我那会很棒!
答案 0 :(得分:11)
最有可能你有另一个服务在8080上听,我认为omnibus安装有一些服务挂钩8080 - 只需使用8081。
编辑:我刚刚进行了快速搜索,发现它是使用原始的综合安装程序监听8080的独角兽服务器。
注意:您只需要更改gitlab.rb中的external_url,不需要为此编辑其他配置文件。
编辑#2:正如@emeraldjava所述,配置文件中有一个选项可用于使用另一个独角兽端口:#unicorn['port'] = '8080'
答案 1 :(得分:4)
我首先在/etc/gitlab/gitlab.rb
中设置这些,为Gitlab Omnibus(Community Edition,版本10.1.4)解决了这个问题:
unicorn['port'] = 8081
gitlab_workhorse['auth_backend'] = "http://localhost:8081"
然后跑步:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
此外,如果您在SSL反向代理后面运行GitLab,则可能需要重新启动该服务才能通过缓存的502错误页面。
答案 2 :(得分:0)
从 GitLab 13.0 开始,Puma 是默认 Web 服务器,Unicorn 已默认禁用 (reference)。
所以你必须在 /etc/gitlab/gitlab.rb 中更改以下配置:
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
headers.set("accessToken", accessToken);
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
body.add("file", new FileSystemResource(new File("File.png")));
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);
String serverUrl = "/v1/media";
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<MediaResource> response = restTemplate.postForEntity(serverUrl, requestEntity, MediaResource.class);
System.out.println("Response code: " + response);