Se sua configuração não incluir uma root /some/absolute/path;
instrução ou incluir uma que use um caminho relativo root some/relative/path;
, o caminho resultante dependerá das opções em tempo de compilação.
Provavelmente, o único caso que lhe permitiria adivinhar o que isso significa para você seria se você baixasse e compilasse a fonte por conta própria. Nesse caso, os caminhos seriam relativos ao que --prefix
foi usado. Se você não o alterou, o padrão será /usr/local/nginx
. Você pode encontrar os parâmetros com os quais o nginx foi compilado via nginx -V
, ele lista --prefix
como o primeiro.
Como a root
diretiva é padronizadahtml
, isso certamente resultaria na /usr/local/nginx/html
resposta à sua pergunta.
No entanto, se você instalou o nginx de qualquer outra forma, todas as apostas estão desativadas. Sua distribuição pode usar caminhos padrão totalmente diferentes. Aprender a descobrir que tipo de padrão sua distribuição preferida usa para as coisas é outra tarefa.
nginx -V 2>&1 | grep --color -o -e '--prefix=[^[:space:]]\+'
fornece o nginx HOME.Se estiver instalando no Ubuntu usando o apt-get, tente
/usr/share/nginx/www
.EDITAR:
Nas versões mais recentes, o caminho foi alterado para:
/usr/share/nginx/html
EDIT 2019:
Pode tentar
/var/www/html/index.nginx-debian.html
também.fonte
O diretório Nginx padrão no Debian é
/var/www/nginx-default
.Você pode verificar o arquivo:
/etc/nginx/sites-enabled/default
e encontra
A raiz é o local padrão.
fonte
html
.default site
está ativado?'raiz da web pública padrão' pode ser encontrada na saída nginx -V:
o valor --prefix é a resposta para a pergunta. para a amostra acima, a raiz é / var / lib / nginx
fonte
No Mac OS X, a instalação do nginx with brew cria o diretório padrão:
Assim:
significa
Não há diretório html, portanto, ele teria que ser criado manualmente.
fonte
root html
,index.html
e50x.html
é colocado diretamente no/usr/local/var/www
. Portanto, duvido que existahtml
pasta. Você poderia me ajudar com isso?/usr/local/Cellar/nginx/1.10.2_1/html
onde 1.10.2_1 é a versão nginx./usr/local/Cellar/nginx/1.12.0_1/html -> ../../../var/www/
e osnginx -V
shows: o--prefix=/usr/local/Cellar/nginx/1.12.0_1
mesmoroot html
é redirecionado por esse link.Você pode simplesmente mapear a pasta raiz do nginx para o local do seu site:
dentro do arquivo padrão , procure a raiz na etiqueta do servidor e altere a pasta padrão do seu site, por exemplo, meus sites estão em / var / www
Ao avaliar o nginx, o apache2 e o lighttpd, mapeei todos eles para o meu site em / var / www . Eu achei essa a melhor maneira de avaliar com eficiência.
Em seguida, você pode iniciar / parar o servidor de sua escolha e ver qual funciona melhor.
por exemplo
Aliás, o nginx é realmente muito rápido!
fonte
como a maioria dos usuários disse aqui, está neste caminho:
Este é o caminho padrão, mas você pode fazer o seu.
tudo o que você precisa é criar um na árvore raiz do servidor da web e conceder algumas permissões "não 0777" e apenas para um usuário e visível apenas para esse usuário, mas o final do caminho é visível para todos desde o final do caminho é o que seus arquivos e pastas serão visualizados pelo público.
por exemplo, você pode criar um como este:
sempre que você criar um host virtual no Nginx, poderá personalizar seu próprio caminho raiz; basta adicionar algo assim no bloco do servidor:
fonte
/usr/share/nginx/html/
pasta. Existe algum motivo para alterar esse caminho (por segurança ou por outros motivos)? Não há problema em deixá-lo na pasta padrão se eu for o único usuário e se vou hospedar apenas um site nele?A pasta da Web padrão para o nginx depende de como você a instalou, mas normalmente está nesses locais:
fonte
Para imagens do Ubuntu e docker:
fonte
Execute o comando
nginx -V
e procure o--prefix
. Use essa entrada para localizar seus caminhos padrão.fonte
Despejar a configuração:
O que você obtém pode ser diferente, pois depende de como o seu
nginx
foi configurado / instalado.Referências:
-T
opção naman
página-T
opção na mensagem de ajudaAtualização: Há alguma confusão sobre a questão de se / quando a
-T
opção foi adicionadanginx
. Foi documentado na página de manual pelo vl-homutov em 16 de junho de 2015, que se tornou parte do release v1.9.2 . É até mencionado nas notas de lançamento . A-T
opção está presente em todas asnginx
versões desde então, incluindo a disponível no Ubuntu 16.04.1 LTS:fonte
-T
opção. A-T
opção está faltando em sua instalação específica? Você pode mostrar algo para fundamentar sua reivindicação?Olhe para o arquivo de configuração nginx para ter certeza. Este comando greps para o que estiver configurado em sua máquina:
na minha máquina era: `root / usr / share / nginx / www;
fonte
No Mac, instale o nginx with brew:
/usr/local/etc/nginx/nginx.conf
fonte
Para o CentOS, Ubuntu e Fedora, o diretório padrão é
/usr/share/nginx/html
fonte
var/www/html
.Para o AWS EC2 Linux, você encontrará aqui:
fonte
No meu caso, foi em
/usr/share/nginx/html
você pode tentar encontrar realizando uma pesquisa
fonte
Se você estiver no Ubuntu 14.04, poderá encontrar o diretório nginx www no seguinte caminho:
fonte
var/www/html
.Você pode procurá-lo, não importa para onde eles o moveram (o administrador do sistema mudou ou a versão mais recente do nginx)
fonte
Se você precisar descobrir a pasta raiz pública nginx que foi definida no momento da compilação, basta verificar seu arquivo access.log.
Aqui está um exemplo da seção http do nginx.conf com a diretiva log_format modificada , $ document_root é adicionado no início da string:
Em seguida, faça backup de todos os arquivos de configuração * .conf no diretório conf.d e crie o arquivo de configuração test.conf com as seguintes linhas:
Adicione a seguinte linha ao arquivo / etc / hosts:
127.0.0.1 localhost
Recarregue a configuração do nginx:
nginx -s reload
Envie a solicitação GET para http: // localhost :
curl http://localhost
Verifique a última sequência de access.log :
tail -n 1 /var/log/nginx/access.log
Aqui está o exemplo de saída deste comando, em que / etc / nginx / html é a raiz do documento padrão definida em tempo de compilação:
fonte
você pode acessar a configuração do arquivo nginx, pode ver raiz / caminho. neste padrão de nginx apache em
/var/www/html
fonte
/var/www/html
é a raiz da web padrão para o apache, não o nginx.* páginas padrão alocadas na Web em var / www / html * servidor de configuração padrão etc / nginx / sites / disponível / nginx.conf
* servidor de configuração padrão etc / nginx / nginx.conf
conteúdo..
logs de acesso padrão com clientes ip var / log / nginx / ...
fonte
Apenas observe que a página de índice padrão para o servidor nginx também exibirá o local raiz. No nginx (1.4.3) no Amazon Linux AMI, você obtém o seguinte:
Esta é a página index.html padrão que é distribuída com nginx na Amazon Linux AMI. Está localizado em / usr / share / nginx / html.
Agora você deve colocar seu conteúdo em um local de sua escolha e editar a diretiva de configuração raiz no arquivo de configuração nginx /etc/nginx/nginx.conf
fonte
Meu nginx no Ubuntu é "nginx version: nginx / 1.9.12 (Ubuntu)" e o caminho raiz é / var / www / html /
As informações do Ubuntu são: Nenhum módulo LSB está disponível. ID do Distribuidor: Ubuntu Descrição: Ubuntu 16.04 LTS Release: 16.04 Nome de código: xenial
Na verdade, se você acabou de instalar o nginx no Ubuntu, pode ir para "/ etc / nginx / sites-available" e verificar o arquivo padrão, existe uma configuração como "root / web / root / path / goes / here". E é isso que você está procurando.
fonte
Você pode encontrá-lo em / var / www /, que é o diretório padrão para nginx e apache, mas pode ser alterado. etapa 1, vá para a seguinte pasta / etc / nginx / sites-available
etapa 2 edite o arquivo padrão, em que você pode encontrar um bloco de servidor sob o qual haverá uma linha nomeada como raiz, que é o que define o local.
fonte
no ubuntu 19.04, encontramos no
fonte
Para nginx / 1.4.6 (Ubuntu)
fonte
No Ubuntu, o local do diretório raiz padrão do Nginx é
/usr/share/nginx/html
fonte
O padrão está relacionado à
prefix
opção doconfigure
script quando o nginx é compilado; aqui está uma amostra estranha do Debian:Posteriormente, o valor padrão de
root
é definido como ohtml
diretório (de acordo com a documentação daroot
diretiva ), que está dentroprefix
, como pode ser verificado olhando a$document_root
variável em um arquivo de configuração simples:No entanto, distribuições ruins como o Debian parecem modificá-lo bastante, para mantê-lo entretido extra:
Portanto, nesta instância do Debian, você pode ver que a raiz está finalmente definida como
/usr/share/nginx/www
.Mas como você viu com a configuração do servidor de amostra que teria
$document_root
valor sobre o http, a configuração do nginx é simples o suficiente para que você possa gravar sua própria configuração em questão de uma ou duas linhas, especificando o necessárioroot
para atender às suas necessidades exatas.fonte
root html;
, quero dizer, qual é o caminho real?Eu também tive esse problema no Digital Ocean executando um site WordPress com nginx.
Minha solução foi fazer o seguinte:
/etc/nginx/nginx.conf
arquivo com o seguinte:Então eu tive que
sudo service nginx restart
nginx -V
O comando também mostra onde seu arquivo de configuração nginx também está localizado (o meu foi apontado/etc/nginx/nginx.conf
)fonte
O Alpine Linux não possui nenhum local padrão. O arquivo
/etc/nginx/conf.d/default.conf
diz:Substitua por uma linha que
root /var/www/localhost/htdocs
aponte para o diretório que você deseja. Então,sudo service nginx restart
para reiniciar.fonte
nginx:alpine
imagem mais recente e exibe conteúdo pronto/usr/share/nginx/html
para uso.apk add nginx
instala manualmente o nginx a partir do próprio gerenciador de pacotes da Alpine, você obtém a situação descrita na minha resposta (ou foi o caso quando tentei há alguns meses).