Como criar Virtual Hosts com Nginx

1º Passo - Crie um novo diretório

O primeiro passo para criar um virtual host, é a criação de um diretório. Esse diretório é onde serão guardadas as informações do seu site. A localização desse arquivo estará na configuração do seu Apache posteriormente.

Abaixo, o comando que deverá ser utilizado, seguido de um exemplo de localização de arquivo:

sudo mkdir -p /var/www/example.com/public_html


Você precisará informar um DNS de domínio aprovado, ou um endereço IP que esteja funcionando. No tutorial, estamos usando example.com como exemplo para o nome do domínio. No entanto, se deseja utilizar um domínio que a ainda não seja aprovado para testar esse processo, isso será explicado no 7º passo. 
 

2º Passo - Conceda permissões

É necessário conceder permissão da propriedade do diretório para o usuário correto. Você pode substituir "www-data" abaixo, pelo nome de usuário correto. 

sudo chown -R www-data:www-data /var/www/example.com/public_html


Também é importante ter certeza que todos estejam aptos a ler seus arquivos. Para isso, utilize o comando abaixo:

sudo chmod 755 /var/www
 

3º Passo - Criando a página

Para criar uma página, é preciso criar um novo arquivo chamado index.html no diretório que foi criado nos passos acima. 

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


Adicione algum texto ao arquivo, para que algo apareça no site quando estiver sendo redirecionado ao virtual host. 

<html>
  <head>
    <title>www.example.com</title>
  </head>
  <body>
    <h1>Success: You Have Set Up a Virtual Host</h1>
  </body>
</html>


Salve e Feche.
 

4º Passo - Crie um novo arquivo de Host Virtual

No próximo passo, você deverá criar um novo arquivo, contendo todas as informações do virtual host. O Nginx fornece o layout para esse arquivo (disponível no diretório /etc/nginx/sites-available), então, basta copiar o texto e transforma-lo em um novo arquivo customizado. 

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
 

5º Passo - Configurando Virtual Hosts

Abra o novo arquivo do virtual host. Você verá toda a informação que você precisa se utilizar o comando abaixo. 

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


Depois, é preciso realizar algumas alterações nas linhas abaixo:

 server {
        listen   80; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6

        root /var/www/example.com/public_html;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name example.com;
}
  • Em "listen 80" tire o uncomment. Assim, todo o tráfego dessa porta será redirecionado para seu site. 
  • Altere a extensão raiz para que esta bata com o diretório criado no primeiro passo. Se ele estiver incorreto, você não conseguirá ativer o virtual host. 
  • Altere o nome do servidor para o seu domínio aprovado ou seu IP. 

Não são necessárias outras alterações. Salve e feche.  

O último passo é ativar o host criando uma conexão entre o diretório "sites-available" e o diretório "sites-enabled". No apache, o comando para isso é "a2ensite". Já o Nginx, não possui um atalho equivalente, mas é possível fazer isso utilizando o seguinte comando:

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

Para evitar o erro de conflito de nome do servidor e garantir que seu site exibas as informações corretas, você pode excluir o bloco padrão do servido Nginx com o comando:

sudo rm /etc/nginx/sites-enabled/default
 

6º Passo - Reinicie Nginx

Depois de todas as alterações realizadas, reinicie o Nginx para que elas comecem a funcionar. 

sudo service nginx restart
 

(Opcional) 7º Passo - Configurando os Hosts Locais

Se você tem um domínio ou um IP para seu servidor, você pode ignorar essa etapa, pois não precisa configurar seus hosts locais. Os hosts virtuais devem funcionar. No entanto, se quiser testar seus novos hosts virtuais, sem se conectar a um domínio real, é possível realizar essa configuração somente no seu computador.

Nessa etapa, você precisará estar usando seu computador e saber a senha administrativa dele.

Se estiver no Mac ou Linux, acesse o usuário principal do computador (su) e abra seus arquivos de host.

nano /etc/hosts 


Se estiver no Windows, siga as orientações da Microsoft.

Você pode adicionar hosts locais nos detalhes do arquivo, como apresentado no exemplo abaixo. 

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost

#Virtual Hosts 
12.34.56.789    www.example.com 


Após realizar esses testes, exclua os endereços inventados da pasta de hosts locais, para evitar qualquer confusão futura.  

8º Passo: Vendo seu Virtual Host em ação

Uma vez que você terminou suas configurações, você poderá ver seu virtual host online. Digite seu domínio ou IP no seu navegador e pronto!

  • hosts, nginx
  • 7 Usuários acharam útil
Esta resposta lhe foi útil?

Artigos Relacionados

Como reiniciar a rede Ubuntu?

O reiniciamento da interface de rede Ubuntu só pode ser realizado depois que a interface de rede...

Como saber a última vez que um usuário esteve logado no sistema Linux?

  Neste tutorial, você irá conseguir saber como verificar quem usou recentemente o servidor...

Como saber o quanto de RAM ainda há no sistema?

  Alguns usuários pensam que o Linux "rouba" espaço de memória RAM não utilizada para o seu...

Como otimizar seu MySQL

Para realizar otimização do MySQL é recomendado utilizar o mysqlmymonlite.sh...

Como se conectar remotamente com um servidor MySQL

Esse é um tutorial que irá lhe ensinar a como se configurar e se conectar a um servidor MySQL...

SiteLock