quando você terminar de escrever código para o seu site ou aplicação web, você precisará que ele seja colocado em algum local onde ele possa executar e entregar conteúdo para seus usuários. É aqui que entra o software do servidor web. Uma simples pesquisa Google de software de servidor web irá trazer-lhe uma lista de soluções para escolher.
neste tutorial, nosso foco está em Nginx; e especificamente como você pode tê-lo em execução no Ubuntu 18.04. Nginx é um dos softwares de servidor web mais populares do mundo. Na verdade, ocupa um lugar no Top 5 em Opensource.com rankings. É responsável por garantir a disponibilidade e a escalabilidade dos sítios de tráfego mais elevados da internet. Ele garante a segurança e você pode usá-lo como um proxy reverso. Então, como você pode instalar Nginx no Ubuntu 18.04?
pré-Requisitos
claro, você já tem um computador que está executando o Ubuntu 18.0.4; e você tem um usuário não-root com o comando sudo privilégios. Se não, siga para este link para baixar Ubuntu 18.0.4, em seguida, siga as guias na configuração inicial do servidor com Ubuntu para criar uma conta não-root. Uma vez que você tem uma conta, você precisa fazer login como um usuário não-root, e então nós podemos prosseguir com os próximos passos.
Passo 1 – Instalar Nginx
Ubuntu é baseado no Debian. Para instalar pacotes deb a partir da linha de comandos, você pode usar os comandos apt ou dpkg. Usaremos o comando apt já que é mais popular. O comando Apt permite aos utilizadores instalar pacotes que estão disponíveis a partir dos repositórios predefinidos da distribuição Linux específica que estão a executar. Neste caso, temos Nginx Disponível nos repositórios padrão do Ubuntu 18.04, para que possamos prosseguir. Como regra geral, e, quando a instalação de qualquer pacote de uma distribuição Linux, você deve primeiro atualizar; digite o seguinte comando no terminal para atualizar:
sudo apt update
em Seguida, instalar o Nginx, digite o seguinte comando:
sudo apt install nginx
Siga as instruções, e o Nginx será instalado no seu servidor, juntamente com as dependências necessárias.
Passo 2-Ajuste a Firewall
a ferramenta de configuração predefinida para o Ubuntu é a UFW. UFW significa Firewall simples e desenvolvido para facilitar a configuração da Firewall. Por padrão, Nginx registra-se como um serviço com UFW após a instalação, tornando mais fácil para a configuração de acesso Nginx. Primeiro, permitir que o UFW, digitando o seguinte comando:
sudo ufw enable
O comando a seguir lista o aplicativo de configuração que UFW permite:
sudo ufw app list
Aqui é um screengrab de que seu terminal pode parecer com:
Ele mostra 3 perfis disponíveis para Nginx. Eles são descritos abaixo:
- Nginx Full-ele abre ambos porta 80 e 443. O porto 80 é para o tráfego normal/não cifrado, ou seja, http. A porta 443 é para o tráfego encriptado TLS / SSL. isto é, https.
- Nginx HTTP-abre apenas a porta 80.
- Nginx HTTPS-abre apenas a porta 443.
como recomendação, só deverá activar o perfil que irá permitir o tráfego que configurou para a sua aplicação web. Neste caso, iremos com Nginx HTTP (porta 80) uma vez que não configuramos SSL. O seguinte comando activa isto:
sudo ufw allow 'Nginx HTTP'sudo ufw allow 'OpenSSH'
para verificar a alteração, indique o seguinte comando:
sudo ufw status
o seu terminal deve mostrar algo semelhante ao screengrab abaixo. Repare que o tráfego HTTP é permitido em toda a parte:
Passo 3 – Verificar o seu servidor web
após a instalação de Nginx no Ubuntu 18.04, o serviço começa automaticamente. Poderá testar isto se introduzir o seguinte comando no seu terminal:
systemctl status nginx
o seu terminal deverá mostrar algo como isto:
isto mostra que o serviço foi iniciado automaticamente e que está em execução. Como você já sabe, o principal propósito do software servidor é servir conteúdo. Para testar esta finalidade você precisará solicitar uma página. Você pode fazer isso acessando o endereço IP do seu servidor a partir do navegador, que deve mostrar a página de destino Nginx padrão. Se você não sabe o endereço IP do seu servidor, abaixo estão alguns comandos para ajudá-lo a obtê-lo:
ip addr show ens3 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
abaixo está outro comando que você pode usar. Ele lhe dá o endereço IP público visto de locais na internet:
curl -4 icanhazip.com
o primeiro comando lhe dá um endereço como mostrado no terminal abaixo. Em seguida, copie e teste-o no seu navegador:
o seu navegador carrega a página Nginx predefinida que se parece com a seguinte imagem. Mostra que o seu servidor de Nginx está de facto a correr:
Step 4-comandos básicos de gestão de Nginx
já viu o comando que verifica o estado de Nginx:
systemctl status nginx
Agora que temos o servidor a funcionar, aqui estão mais alguns comandos que deve manter à mão para gerir o serviço Nginx. Estes comandos funcionam não só no Ubuntu 18.04, mas também em todas as distribuições Linux.
Para parar o servidor, digite o seguinte comando:
sudo systemctl stop nginx
Ao iniciar o servidor, digite o seguinte comando:
sudo systemctl start nginx
Sempre que você fizer alterações significativas como a troca de portas ou interfaces, você deve reiniciar o servidor web. O comando abaixo reinicializa o servidor:
sudo systemctl restart nginx
sempre que fizer pequenas alterações de configuração como editar blocos de servidores, o Nginx pode recarregar sem largar ligações. Aqui está o comando para recarregar:
sudo systemctl reload nginx
Nginx inicia automaticamente o servidor quando o seu Ubuntu OS arranca. No entanto, se desejar alterar esta opção, poderá desactivar o serviço Ao introduzir o comando abaixo:
sudo systemctl disable nginx
e poderá re-activar o serviço para iniciar automaticamente quando arrancar a sua máquina da próxima vez, introduzindo:
sudo systemctl enable nginx
Step 5 – Configurar Blocos de servidor
pode desejar hospedar vários sites (domínios) num servidor web. Os blocos de servidores ajudá-lo-iam a conseguir isto. Se você já usou o Apache antes, os blocos de Servidores em Nginx podem ser comparados com o Apache Vhosts. Fora da caixa, o Nginx vem com um bloco de servidor configurado para correr a partir do directório /var/www/html, o que carregou a página predefinida do Nginx numa secção acima. Este bloco de servidor é bom ao executar um único site. No entanto, correr muitos sites será um problema.
queremos criar outro site no mesmo servidor e chamá – lo samplesite.com (este é apenas um exemplo, você deve substituí-lo por seu próprio nome de domínio).
dentro da pasta /var/ www/, crie outra pasta para samplesite.com. deixe o padrão /var/www / html para atender pedidos que não correspondem a qualquer outro site. O comando abaixo cria a pasta para samplesite.com como descrevemos. A opção –p é assegurar que o comando cria todas as pastas-mãe necessárias:
sudo mkdir -p /var/www/samplesite.com/html
Para permitir o acesso ao diretório, você deve atribuir a propriedade com o $variável de ambiente do UTILIZADOR:
sudo chown -R $USER:$USER /var/www/samplesite.com/html
Para verificar se as permissões para o seu web raízes estão corretas, digite o seguinte comando:
sudo chmod -R 755 /var/www/samplesite.com
em seguida, vamos tentar criar um índice simples.html no samplesite.com directório. Você pode abrir o editor nano como:
nano /var/www/samplesite.com/html/index.html
O comando abre um editor no seu terminal, adicione o seguinte código:
<html><head><title>Welcome to samplesite.com!</title></head><body><h1>Success! The samplesite.com server block is running fine!</h1></body></html>
Type Ctrl + O, em seguida, carregue em Enter para gravar o ficheiro. Escreva Ctrl + X para fechar o editor.
Depois disso, você pode criar o bloco do servidor. Em vez de edição, para não sobrecarregar o arquivo de configuração padrão, é recomendado que você faça um novo em /etc/nginx/sites-available/samplesite.com. Digite o seguinte comando para abrir o editor nano:
sudo nano /etc/nginx/sites-available/samplesite.com
No editor, digite o seguinte código, modificado para o diretório que você criou. Note que o nome raiz e o nome do servidor correspondem ao nosso directório e ao domínio que queremos servir:
server { listen IP_ADDRESS:80; listen :80; root /var/www/samplesite.com/html; index index.html index.htm index.nginx-debian.html; server_name samplesite.com samplesite.com; location / { try_files $uri $uri/ =404; }}
seguinte, gravar e fechar o ficheiro.
Nginx lê os ficheiros de configuração da pasta activada pelos ‘sites’, por isso terá de criar uma ligação simbólica do seu novo bloco do servidor para a pasta activada pelos ‘sites’. O seguinte comando fará isso:
sudo ln -s /etc/nginx/sites-available/samplesite.com /etc/nginx/sites-enabled/
você agora tem dois blocos de servidor que podem servir dois sites em um servidor Nginx.
o seguinte comando responde a pedidos nos domínios samplesite.com e www.samplesite.com.
curl samplesite.com
e a predefinida irá responder a quaisquer pedidos que atinjam a porta 80 que não correspondam a qualquer um dos dois blocos do servidor:o seu servidor de Nginx pode provavelmente experimentar um problema de memória de balde de hash ao adicionar blocos adicionais do servidor. Para evitar isso, você deve ajustar um único arquivo no nginx.ficheiro conf. Em seguida, abra o arquivo com o editor nano:
sudo nano /etc/nginx/nginx.conf
em Seguida, encontrar a directiva: server_names_hash_bucket_size e remova o símbolo # descomente-lo, para que fique assim:
http { server_names_hash_bucket_size 64;}
em seguida, salve e feche o arquivo.
Para que o teste de todos os seus Nginx arquivos sem erros, você deve digitar o seguinte comando:
sudo nginx -t
Se tudo estiver bem, você deverá ver algo assim:
Para as alterações de configuração tenham efeito, primeiro você deve iniciar o servidor Nginx usando o comando abaixo:
sudo systemctl restart nginx
Agora, insira o domínio e você deve ver a página html que criamos.
Passo 6-importantes ficheiros e directórios Nginx que deverá conhecer
- directório principal do conteúdo
– / var / www / html: A página predefinida do nginx é guardada nesta pasta. É o conteúdo real que você vê quando acede ao seu endereço IP do servidor. Poderá alterar este comportamento alterando os ficheiros de configuração do Nginx.
- pastas de configuração da Nginx
–/etc / nginx: a pasta principal que contém todos os ficheiros de configuração da Nginx.
–/etc/nginx / nginx.conf: o principal ficheiro de configuração do Nginx que pode ser alterado para fazer alterações globais no servidor Nginx.
-/etc/nginx/ sites-available/: é o diretório onde você armazena blocos de servidores por site. Todos os blocos do servidor estão nesta pasta. Uma ligação simbólica irá ligá-los à pasta com a opção ‘sites’. Se listarmos o conteúdo deste diretor, devemos ver o bloco do servidor que criamos, bem como o bloco do servidor Nginx padrão.
– /etc/nginx/sites-enable/: os blocos de servidor por site existem neste directório. Eles estão ligados aos arquivos de configuração reais no diretório disponível de sites.
– / etc/nginx/ excertos/: a pasta onde você armazena excertos de configuração que podem ser incluídos em outras configurações-e.g. excertos de configuração repetitiva.
- registos do servidor
–/var/log/nginx / access.Registo: este ficheiro regista todos os pedidos que atingem o seu servidor, a menos que tenha configurado o Nginx para guardar noutro ficheiro ou fazer outra coisa qualquer.r– – / var / log/nginx / error.Registo: este ficheiro regista todos os erros de Nginx. É aqui que você irá resolver problemas quando o seu servidor não estiver a correr como esperado.
conclusão
chegámos ao fim da viagem. Instalou a Nginx no Ubuntu 18.04, firewalls configurados, blocos de servidor configurados e garantiu que os sites estão acessíveis no seu navegador. Meus parabéns! Agora cabe a você descobrir que conteúdo você quer servir aos seus usuários.Computação feliz!