Problemas de configuração do Gitlab :: NGINX Unicorn Port Conflict

Eu consegui configurar parcialmenteGitlab em um servidor Linux CentOS com Apache, Git, PHP, PostGreSQL e MySQL. Estou executando oVersão do Chef Cookbook. Eu tenho a rpm deaqui. Eu queria usá-lo para gerenciar meu repositório Git melhor e mais visualmente, e isso parecia ser uma boa escolha. Mas agora tenho problemas para fazê-lo funcionar.

Apenas para fazê-lo realmente funcionar e atualizar todos os arquivos, decidi executar novamente a configuração usandogitlab-ctl reconfigure. A segunda execução funcionou:

Chef Client finished, 4 resources updated
gitlab Reconfigured!

Vejolog completo

O hoster já havia colocado o NGINX no 8080 para não entrar em discussão com o Apache em execução na porta 80, onde temos um projeto LAMP em execução. Mas agora o Ruby Unicorn Web Server parece estar em conflito com o NGINX. Eu trabalhei com o NGINX um pouco, não muito e esta é a minha primeira tentativa no Gitlab. Enfim, é isso que eu descobri com a ajuda do meu hoster.

Quando eu faço login no testserver.domain.net e transmito o seguinte comando:

netstat -ln |grep 8080 Entendo

tcp        0      0 127.0.0.1:8080              0.0.0.0:*                   LISTEN      

Então, algo está sendo executado no 8080 De acordo com o meu hoster, ele deve executar no 0.0.0.0:8080. E quando verificamos o que está sendo executado nessa porta, vemos

netstat -tupln |grep 8080
tcp        0      0 127.0.0.1:8080              0.0.0.0:*                   LISTEN      21627/unicorn maste 

Quando verificamos a identificação do processo 21627, vemos

cat /proc/21627/cmdline 
unicorn master -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru

Esse é um processo Ruby, e não um processo NGINX.

Portanto, o NGINX parece estar em conflito com o Unicorn.

E quando verificamos os logs do nginx, vemos que o nginx não pode continuar por causa disso:

tail -f /var/log/gitlab/nginx/error.log 
2014/07/28 09:43:10 [emerg] 23122#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:10 [emerg] 23122#0: still could not bind()
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2014/07/28 09:43:12 [emerg] 23123#0: still could not bind()

Eu pesquisei Unicorn.rb e encontrei issoligação. Eu também li que:

O Unicorn é um servidor HTTP para aplicativos de rack projetado para atender apenas clientes rápidos em conexões de baixa latência e alta largura de banda e tirar proveito dos recursos dos kernels do tipo Unix / Unix. Os clientes lentos devem ser atendidos apenas colocando um proxy reverso capaz de armazenar em buffer totalmente a solicitação e a resposta entre o Unicorn e os clientes lentos.

Quando eu verifico o arquivo/var/opt/gitlab/gitlab-rails/etc/unicorn.rb Eu vejo que ele usa 8080. O problema é que parece que o Unicorn deve trabalhar junto com o NGINX; portanto, talvez eu não deva alterar a porta.

Que passo devo dar para que o Gitlab funcione? O Gitlab pode funcionar sem o Unicorn? Eu acho que não. Devo então escolher outra porta para ela ou talvez para o NGINX?

questionAnswers(4)

yourAnswerToTheQuestion