ngnix é muito mais fácil no linux - pelo menos documentação. Tenho a sensação de que vamos ter que começar no início. O ngnix normalmente funciona fora da caixa, embora você precise configurar coisas como php separadamente - não há equivalente de proxy mod.
Em qualquer servidor HTTP moderno há algum sabor de virtualhosts. no ngnix você pode configurá-los como um único arquivo ou separar arquivos. Esse tipo de trabalho não funciona no FTP - mas há soluções alternativas. ( Ngnix o chama de blocos de servidores, mas a mesma diferença ).
Basta ter contas separadas no ftp com nomes de usuários, senhas e diretórios de rood diferentes.
Virtualhosts só funciona em http e https e, basicamente, é uma maneira de direcionar o tráfego em diferentes domínios, para diferentes rotas, permitindo que você execute vários serviços em diferentes diretórios raiz com base no nome do host. Por exemplo, você pode executar duas instâncias do wordpress no mesmo servidor, com arquivos principalmente separados.
Eu sou preguiçoso - tenho um arquivo de configuração por domínio. Se você estiver executando isso no Windows, consulte a documentação apropriada para obter detalhes.
Você vai querer localizar onde estão os arquivos de configuração por site - os meus estão em / etc / ngnix / sites-available, e estes são links simbólicos para sites habilitados. isso pode ser baseado na plataforma
Você sempre tem uma configuração padrão que é sensata e deve funcionar. É chato e você pode lê-lo para entender quais são as várias opções.
Você pode editar isso (não recomendo) ou criar um arquivo de configuração por site na mesma pasta. Este é um exemplo do que eu uso. Isso substitui os padrões
server {
listen 80;
listen [::]:80;
root /var/www/html/new;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;
server_name new.example.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server via unix socks
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
Então, mais ou menos, eu digo para ouvir a porta 80, no ipv4 e 6, dizer o nome do host para ouvir, e algumas outras coisas relacionadas ao php.
Se eu mudar o root e trocar new.example.com por new2.example.com e alterar a raiz, ele enviará solicitações para new2.example.com para o conteúdo na nova raiz. Você pode, por exemplo, executar 2 cópias do wordpress no mesmo servidor com diferentes domínios dessa maneira. Eu crio um desses com o nome_do_servidor e raiz apropriados por domínio em sites habilitados, crie links simbólicos para sites habilitados (pode funcionar de maneira diferente em janelas) e recarregue minha configuração nginix.
Supondo que você esteja tentando proxy , você teria um ou mais servidores em portas diferentes. ngnix fica na frente para direcionar o tráfego
server {
listen 80;
listen [::]:80;
server_name matrix.example.com;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Considere este arquivo de configuração - não sei se ele realmente funcionará (eu executo uma versão com HTTPS do presente), mas é isso que docs são para. Ele vai ouvir na porta 80, para o domínio matrix.example.com.