Introdução à configuração nginx

Este artigo está em ubuntu (20), o texto original em inglês é implementado em ubuntu16. É configurar 2 hosts virtuais para acessar diferentes diretórios pessoais da WEB com diferentes nomes de domínio.

Os dois nomes de domínio são example.com e test.com. Você não precisa ter esses dois nomes de domínio, eles são apenas para teste.

Texto original de referência: https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-hosts-on-ubuntu-16-04

Pré-requisitos

O conteúdo deste artigo não inclui a instalação do nginx, você pode consultar: Instalação do Nginx no Ubuntu, teste

Na verdade, a instalação é:

sudo apt update
sudo apt install nginx

Este artigo requer que você tenha um usuário não root, mas pertença ao grupo sudo. Caso contrário, faça o seguinte com o usuário root:

adduser sammy
usermod -aG sudo sammy

Crie um novo diretório raiz da Web

Por padrão, o diretório raiz da Web do Ubuntu é / var / www / html, que é a situação após a instalação do nginx.

Agora crie os diretórios raiz da Web de dois nomes de domínio, a saber, example.com e test.com.

-p significa criar o diretório pai necessário.

sudo mkdir -p /var/www/example.com/html
sudo mkdir -p /var/www/test.com/html

Altere o proprietário e o grupo do diretório 

sudo chown -R $USER:$USER /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/test.com/html

Altere as permissões do diretório:

sudo chmod -R 755 /var/www

Crie 2 páginas de amostra

Crie index.html para o primeiro nome de domínio

nano /var/www/example.com/html/index.html

O conteúdo é o seguinte:

<html>
    <head>
        <title>Welcome to Example.com!</title>
    </head>
    <body>
        <h1>Success!  The example.com server block is working!</h1>
    </body>
</html>

O conteúdo é muito simples de exibir. O bloco do servidor example.com está funcionando.

Crie index.html para o segundo nome de domínio

nano /var/www/test.com/html/index.html

O conteúdo é o seguinte:

<html>
    <head>
        <title>Welcome to Test.com!</title>
    </head>
    <body>
        <h1>Success!  The test.com server block is working!</h1>
    </body>
</html>

 Nosso objetivo é visitar diferentes domínios e exibir diferentes páginas da web.

Configuração de bloco de servidor

Configure o primeiro bloco de servidor de nome de domínio:

sudo nano /etc/nginx/sites-available/example.com

O conteúdo é:

server {
        listen 80;
        listen [::]:80;

        root /var/www/example.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name example.com www.example.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

Configure o segundo bloco de servidor de nome de domínio:

sudo nano /etc/nginx/sites-available/test.com

O conteúdo é:

server {
        listen 80;
        listen [::]:80;

        root /var/www/test.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name test.com www.test.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

Habilite a configuração e reinicie o nginx

O arquivo de configuração em / etc / nginx / sites-available / não participará da configuração e deve estar vinculado ao diretório / etc / nginx / sites-enable /

A operação de ativação é a seguinte:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/test.com /etc/nginx/sites-enabled/

Para evitar problemas de memória no balde de hash que podem ser causados ​​pela adição de outros nomes de servidor, ajustamos um único valor no arquivo /etc/nginx/nginx.conf. abrir um arquivo:

sudo nano /etc/nginx/nginx.conf

Encontre o item server_names_hash_bucket_size no arquivo e cancele o comentário anterior.

http {
    . . .

    server_names_hash_bucket_size 64;

    . . .
}

Salve e feche o arquivo.

Em seguida, teste se toda a configuração está sintaticamente correta.

sudo nginx -t

Na verdade, ele também pode:

sudo nginx -T

T maiúsculo verifica a sintaxe e exibe o conteúdo da configuração. Exibe o conteúdo do arquivo de configuração principal, o conteúdo dos 2 blocos de configuração do servidor e o conteúdo da inclusão no arquivo de configuração.

Para erros de configuração, você pode olhar o conteúdo do diretório / etc / nginx / sites-enbale /, excluí-lo se não for necessário, talvez seja o erro causado por ele.

Se a verificação estiver correta e nenhum erro for relatado, reiniciaremos o nginx:

sudo systemctl restart nginx

Modifique o arquivo de hosts locais para teste

Deve ser o endereço do cliente do navegador em que você está acessando o host.

A resolução do nome de domínio consiste primeiro em usar o arquivo hosts local e, em seguida, na Internet. O endereço desse arquivo é / etc / hosts no linux e C: \ Windows \ System32 \ drivers \ etc no windows.

Você pode ver o link em inglês: https://www.howtogeek.com/howto/27350/beginner-geek-how-to-edit-your-hosts-file/ ou meu blog  protocolo de resolução de nome de domínio DNS e buffer local

O conteúdo do arquivo mais a resolução de nossos 2 nomes de domínio:

127.0.0.1   localhost
. . .

203.0.113.5 example.com www.example.com
203.0.113.5 test.com www.test.com

Atenção especial aqui: 203.0.113.5 é o endereço de amostra, você deve alterar o endereço ip do seu host, caso contrário o acesso fica errado.

Resultado dos testes

Digite no navegador: example.com

Deve ser exibido da seguinte forma:

Digite no navegador: test.com

Deve ser exibido da seguinte forma:

 

Se este teste for bem-sucedido, nosso experimento estará concluído. O nome de domínio real não precisa ser resolvido pelos hosts, mas você precisa adquiri-lo. Você pode configurar vários hosts virtuais em um host Linux.

Acho que você gosta

Origin blog.csdn.net/leon_zeng0/article/details/108820539
Recomendado
Clasificación