Por ser assíncrono, a capacidade de lidar com milhões de usuários sem diminuir a velocidade do servidor torna-o a escolha número um em muitas empresas para implantar seus sistemas. Este guia demonstra como instalar e configurar servidores da web Nginx com facilidade. O guia usa Ubuntu 18.04 como a versão porque é LTS; portanto, tem um suporte de longo prazo que é necessário em um ambiente de produção. Instalar e configurar um servidor da web Nginx são relativamente fáceis, mas envolvem várias etapas.
Instalação
Estas instruções foram escritas para o Ubuntu 18.Versão 04 LTS e, portanto, não deve ser usado em um tipo diferente do Linux, a menos que os mesmos comandos funcionem lá também. Recomenda-se instalar o Nginx em uma conta de usuário regular com permissão sudo para mitigar o risco de segurança. No entanto, este artigo não demonstra como criar uma conta de usuário, pois está fora de seu escopo.
- Antes de instalar o Nginx, atualize as informações do pacote local e, em seguida, atualize os pacotes com os seguintes comandos. Ele garante que a versão mais recente do Nginx seja recuperada do repositório (servidor) quando o comando de instalação do Nginx é usado. O comando Dist-upgrade lida de forma inteligente com as dependências para evitar problemas de incompatibilidade entre os diferentes pacotes.
- Instale o Nginx com o seguinte comando
- A instalação requer apenas 3 comandos principais para serem usados, então o Nginx é instalado no servidor. Uma vez que neste guia, o Nginx é usado como um servidor web, o índice.html é criado assim que o Nginx é instalado e pode ser acessado através do endereço IP externo do servidor.
http: // IPAddress
- Mesmo que esteja instalado, é importante certificar-se de que o serviço Nginx inicie automaticamente o seu próprio, caso o servidor seja reiniciado por algum motivo. Isso pode ser feito da seguinte forma.
- Use os dois comandos a seguir para ajustar as permissões do sistema de arquivos. O primeiro comando atribui o nome do usuário atualmente conectado à permissão do arquivo. Se for root, então será root, se for um nome personalizado, então seu nome. Com o segundo comando a permissão do arquivo é definida. Uma vez que a permissão para "todos os usuários" é definida como R, o arquivo pode ser lido por qualquer pessoa, o que é recomendado para arquivos acessíveis publicamente. Padrões W para permissão de gravação, que é necessária para o proprietário fazer alterações no arquivo, e é útil quando um arquivo é modificado por meio de um script enquanto está no servidor, como no painel do WordPress.
sudo chmod -R 755 / var / www / exemplo.com
Configuração
A instalação do Nginx é simples, conforme descrito acima, mas a configuração requer mais esforço e também depende dos requisitos e do ambiente do servidor. Este guia demonstra como configurar um servidor da web nginx para um domínio, como ajustar as configurações básicas, como configurar SSL / TLS, que é exigido pelo Google para melhorar a classificação do site e, finalmente, quais comandos estão envolvidos na configuração criar um servidor Nginx.
- Use o seguinte comando para abrir o arquivo padrão Nginx através do editor nano. O arquivo padrão é criado automaticamente quando o Nginx é instalado pela primeira vez e define a configuração para um servidor web. Esta configuração contém um bloco de servidor que é dedicado a um nome de domínio e processa as solicitações para seu domínio de acordo com as regras dentro de seus limites. O editor Nano é apenas um editor de console que ajuda a abrir arquivos de texto com facilidade. É altamente recomendado usar um editor melhor como o Notepad ++ com extensão NppFTP, pois é bastante amigável em comparação com um editor de texto de console.
O arquivo de configuração contém algumas linhas importantes, conforme visto no seguinte trecho de código.
- A diretiva Listen especifica o número da porta do endereço IP para escutar. Para servidores da web criptografados de conexão é 443, e para servidores da web não criptografados é 80. Default_server torna-o o servidor padrão de todos os blocos de servidores, o que significa que este bloco de servidor é executado se o campo de cabeçalho da solicitação não corresponder a nenhum dos nomes de servidor especificados. É útil capturar todas as solicitações para o servidor, independentemente do nome do host (significando domínio neste caso).
- Server_name especifica o nome do host, geralmente o nome do domínio. Recomenda-se usar os sabores naked e www do domínio, por exemplo ..
- A diretiva root especifica onde as páginas da web estão localizadas no servidor de arquivos, por exemplo Index.html e todas as outras subpastas de um site da web. A diretiva requer apenas o caminho para a pasta raiz do site, o resto é levado em relação a isso.
- A diretiva de índice especifica o nome do arquivo de índice, ou seja, o arquivo que abre quando o nome do host é inserido na barra de endereço do navegador da web.
- O bloco de localização é útil para processar diretivas sob o nome do host, por exemplo, google.com / images, / videos. O / captura a diretiva raiz do nome de domínio. A diretiva try_files tenta servir o conteúdo (arquivo, pasta) ou lança uma mensagem não encontrada se o recurso não estiver disponível. Se o diretório / videos precisar ser processado, use location / videos.
escuta 80 default_server;
escute [::]: 80 default_server;
nome do servidor _;
root / var / www / html /;
índice de índice.índice php.índice html.htm;
localização /
try_files $ uri $ uri / = 404;
- Recomenda-se reiniciar o servidor assim que estiver configurado primeiro. Reiniciando o serviço nginx, recarregue o arquivo de configuração também. Se uma mudança simples foi feita no arquivo de configuração, usar reload também é suficiente em vez de reiniciar para evitar que a conexão caia para o servidor.
- Hoje em dia é importante criptografar a conexão com o site para melhorar a classificação do site no índice do Google. A criptografia pode ser feita implementando o certificado SSL / TLS no servidor web. Existem inúmeros certificados disponíveis no mercado, tanto pagos quanto gratuitos, mas este guia usa um certificado gratuito conhecido como vamos criptografar. É gratuito, mas é necessário renovar o certificado uma vez a cada 3 meses, em comparação com um ano nos certificados comerciais. O comando a seguir adiciona certbot PPA (arquivo de pacote pessoal) ao sistema. Esses PPAs são hospedados no launchpad.net, e quando o apt-get é usado, eles são baixados para o sistema imediatamente.
- O comando a seguir baixa e instala o tipo de certbot para nginx. Como mencionado acima, ele é baixado da barra de lançamento.internet.
- Depois de instalado, use o seguinte comando para habilitar SSL / TLS para o nome de domínio especificado e seu tipo www. Este deve ser o mesmo domínio configurado nas etapas acima. Se o domínio não estiver configurado, certifique-se de fazer isso antes desta etapa.
-d www.domínio.extensão
- Quando o SSL / TLS foi instalado como acima, reinicie o servidor novamente para que as alterações tenham efeito.
- Também é recomendado usar a configuração declarada no site a seguir, pois ela ajusta a configuração SSL / TLS para um requisito específico. As opções importantes no site a seguir são, moderno, intermediário e antigo. A opção moderna torna a conexão altamente segura, mas ao custo da compatibilidade, e assim o site não carregará em navegadores mais antigos. A opção intermediária equilibra compatibilidade e segurança e, portanto, recomendada para a maioria dos sites. O tipo antigo é para sistemas legados. Não é recomendado para sites de produção, mas para avisar os usuários quando eles visitam o site de navegadores antigos, como o Internet Explorer 5.
https: // ssl-config.Mozilla.org /
Conclusão
Nginx é um servidor proxy, servidor proxy reverso e balanceador de carga, e devido ao seu alto desempenho, é frequentemente usado em empresas para servir seus serviços web. Este guia ensina como instalar e configurar um servidor Nginx pela primeira vez em um servidor Ubuntu com facilidade. A instalação e a configuração não são tão difíceis, pois todos os comandos abstraem as tarefas complicadas sob a camada. Resumindo, não há razão para não usar o Nginx, a menos que a empresa espere um requisito diferente que o Nginx não oferece.