Hospedar vários sites em uma única instância ECS é uma forma econômica de gerenciar sua presença na web. Essa abordagem simplifica tarefas como atualizações de software, configurações de segurança e backup de dados, além de permitir a alocação flexível de recursos conforme a necessidade de cada site. Este tópico mostra como usar o Nginx para hospedar múltiplos sites em uma instância ECS Linux.
Pré-requisitos
Você já criou uma instância ECS com endereço IP público e implantou uma pilha LNMP. Para mais informações, consulte Deploy an LNMP stack ou (To be determined) Deploy an LNMP stack using Docker.
Este tutorial oferece uma solução com um clique para implantar um ambiente Nginx capaz de hospedar vários sites. Execute o código para implantar o ambiente diretamente. Run with one click
Criar sites de teste
-
Conecte-se remotamente à instância ECS onde a pilha LNMP está implantada.
Para instruções de conexão, consulte Connect to a Linux instance using Workbench.
-
Execute o comando a seguir para acessar o diretório raiz configurado do site.
cd /usr/share/nginx/html -
Execute os comandos abaixo para criar dois diretórios destinados aos sites de teste.
Esses diretórios armazenarão o código do seu projeto (conteúdo do site).
sudo mkdir Testpage-1 sudo mkdir Testpage-2 -
Configure o site Testpage-1.
-
Execute o comando a seguir para acessar o diretório Testpage-1.
cd /usr/share/nginx/html/Testpage-1/ -
Execute o comando a seguir para criar e editar o arquivo
index.html.sudo vim index.html -
Pressione
ipara entrar no modo de inserção e adicione o seguinte conteúdo de teste.Test page 1Após a edição, pressione a tecla
Esc, insira:wqe pressione Enter para salvar o arquivo e sair.
-
-
Configure o site
Testpage-2.-
Execute o comando a seguir para acessar o diretório
Testpage-2.cd /usr/share/nginx/html/Testpage-2/ -
Execute o comando a seguir para criar e editar o arquivo
index.html.sudo vim index.html -
Pressione
ipara entrar no modo de inserção e adicione o seguinte conteúdo de teste.Test page 2Após a edição, pressione a tecla
Esc, insira:wqe pressione Enter para salvar o arquivo e sair.
-
Configurar o Nginx
-
Execute o comando a seguir para visualizar o arquivo de configuração
nginx.conf.cat /etc/nginx/nginx.confNo bloco
http{}, localize a diretivainclude.Neste exemplo, a configuração
include /etc/nginx/conf.d/*.conf;indica que o Nginx obtém as informações dos sites de todos os arquivos.confno caminho especificado. A linhainclude /etc/nginx/conf.d/*.conf;é a linha de configuraçãoincludea ser observada, pois carrega arquivos de configuração modulares do diretório /etc/nginx/conf.d.http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; } } -
Execute o comando a seguir para acessar o diretório
/etc/nginx/conf.d.cd /etc/nginx/conf.d -
Crie e configure o arquivo de configuração do Nginx para o site
Testpage-1.-
Execute o comando a seguir para criar e editar o arquivo de configuração.
sudo vim Testpage1.conf -
Pressione
ipara entrar no modo de inserção e adicione o conteúdo a seguir.Substitua os parâmetros de nome de domínio do servidor e caminho do projeto conforme indicado nos comentários.
server { listen 80; server_name testpage1.com; # A test domain name. Replace with your actual server domain name. #charset koi8-r; access_log /var/log/nginx/b.access.log main; location / { root /usr/share/nginx/html/Testpage-1; # Path to this site's root directory. index index.html index.htm; } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }Após a edição, pressione a tecla
Esc, insira:wqe pressione Enter para salvar o arquivo e sair.
-
-
Crie e configure o arquivo de configuração do Nginx para o site
Testpage-2.-
Execute o comando a seguir para criar e editar o arquivo de configuração.
sudo vim Testpage2.conf -
Pressione
ipara entrar no modo de inserção e adicione o conteúdo a seguir.Substitua os parâmetros de nome de domínio do servidor e caminho do projeto conforme indicado nos comentários.
server { listen 80; server_name testpage2.com; # A test domain name. Replace with your actual server domain name. #charset koi8-r; access_log /var/log/nginx/b.access.log main; location / { root /usr/share/nginx/html/Testpage-2; # Path to this site's root directory. index index.html index.htm; } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }Após a edição, pressione a tecla
Esc, insira:wqe pressione Enter para salvar o arquivo e sair.
-
-
Execute o comando a seguir para reiniciar o service Nginx.
sudo systemctl restart nginx
Verificar os resultados
Na sua máquina local, edite o arquivo hosts para mapear os nomes de domínio de teste ao endereço IP público da sua instância ECS. Após salvar o arquivo, verifique os sites no seu navegador.
-
Acesse
http://testpage1.compara visualizar o conteúdo do siteTestpage-1.A página exibe Test page 1, o que indica que o site Testpage-1 foi implantado corretamente e está acessível.
-
Acesse
http://testpage2.compara visualizar o conteúdo do siteTestpage-2.A página exibe Test page 2, o que indica que o site Testpage-2 foi implantado corretamente e está acessível.
Para seus próprios projetos, certifique-se de que a diretiva root no arquivo de configuração de cada site aponte para o diretório correto do projeto.
Próximas etapas
Para tornar seu site disponível publicamente, recomendamos o uso de um nome de domínio para melhorar a acessibilidade e a segurança. Caso precise registrar um nome de domínio ou já possua um, prossiga com as etapas a seguir.
-
Registre um nome de domínio.
Para instruções, consulte Domain name registration.
-
Solicite um registro ICP.
Se o seu nome de domínio apontar para um site hospedado em um servidor Alibaba Cloud na China continental, você deverá solicitar um registro ICP. Para instruções, consulte ICP filing process.
-
Configure a resolução de nome de domínio.
A resolução de nome de domínio é necessária para acessar seu site por meio do domínio. Para apontar seu nome de domínio para o endereço IP público da instância, consulte Add a website resolution record.
Referências
Para saber como hospedar vários sites em uma instância Windows, consulte Configure IIS to Host Multiple Websites.