Atualmente, estou tentando fazer o nginx funcionar com o gitbucket usando este tutorial .
Embora este seja o wiki oficial do gitbucket, esta página está muito incompleta e preciso adaptar alguns detalhes do guia para o apache , principalmente o prefixo, para fazer o gitbucket funcionar com o nginx.
Então, meu resultado sites-available/gitbucket
é aqui:
server {
listen 80; # The default is 80 but this here if you want to change it.
server_name mydomain.xxx;
location /gitbucket {
proxy_pass http://localhost:8080/gitbucket;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 150;
proxy_send_timeout 100;
proxy_read_timeout 100;
proxy_buffers 4 32k;
client_max_body_size 500m; # Big number is we can post big commits.
client_body_buffer_size 128k;
}
}
Quando eu o habilito, gitbucket
ele é http://mydomain.xxx/gitbucket
redirecionado para minha instância do gitbucket, mas o nginx para de servir qualquer arquivo de índice que eu coloquei no meu /var/www/html
e, em vez disso, serve a página de índice padrão fornecida quando a instalamos novamente. E ao desativar o gitbucket, o índice da html
pasta é exibido novamente.
Tentei fazer um ingresso no repositório gitbucket, mas não recebi nenhuma resposta satisfatória. Então, alguém pode me esclarecer esse problema?
Desde já, obrigado!
fonte
sites-enabled
está lendo na ordem correta.sites-enabled
verificar o conteúdo desse arquivo. Atualmente, você está dizendo ao nginx para responder com um bloco que apenas define/gitbucket
. Ter um olhar para este oceano Digital Artigo: Servidor Nginx Compreensão e local do bloco Seleção Algoritmosgitbucket
(ive criado) edefault
(aquele enviado com nginx). Mas o wiki deixa implícito que eu preciso criar umsites-enabled
arquivo separado para lidar com o gitbucket.Respostas:
O tutorial que você vinculou fornece um exemplo muito específico para o gitbucket.
Se você estiver configurando sites usando o nginx, lembre-se de que cada site tem várias configurações e que existe uma lógica que determinará o que tem precedência quando. Este artigo sobre oceano digital intitulado "Entendendo os algoritmos de seleção de servidor Nginx e bloco de local" sobre como isso é determinado.
Pelo que você explicou em seus comentários, você terminou com dois arquivos do site. Um sendo o arquivo padrão no qual você define sua raiz comum para o seu site e outro para o gitbucket que apenas continha o bloco de localização do gitbucket e (isso é importante) uma diretiva de escuta e uma diretiva de nome de servidor.
A primeira etapa que o nginx executa para determinar qual site entregar é descobrir qual bloco de servidor usar. Como atualmente, você provavelmente tem dois blocos de servidor com a mesma definição. Seu bloco padrão e gitbucket estão ouvindo a porta 80 com o mesmo nome de servidor. Então, um sempre substituirá o outro.
Se você quer que ambos trabalhem, você tem algumas opções:
Um bloco de localização, como o nome indica, apenas define configurações para uma localização muito específica. Realmente não precisa de um bloco de servidor independente, pelo menos não se for uma definição tão básica.
fonte