Criando host virtual com nginx

2

Estou tendo um problema com os hosts virtuais usando o nginx Não importa o que eu faça, eu acesso a www / html e não a pasta www / example1. Alguém pode por favor identificar o problema? Estou faltando alguma coisa?

pi@homeserver:/etc/nginx/sites-enabled $ ls -l
total 4
-rw-r--r-- 1 root root 467 Sep  4 19:41 default
lrwxrwxrwx 1 root root  38 Sep  4 19:43 example1 -> /etc/nginx/sites-available/example1

o arquivo padrão é

server { 
  listen 80; 

  root /var/www/html; 
  index index.php index.html index.htm; 

  server_name localhost; 

  location / { 
     try_files $uri $uri/ =404; 
  }

    location ~\.php$ { 
        fastcgi_pass unix:/var/run/php5-fpm.sock; 
        fastcgi_split_path_info ^(.+\.php)(/.*)$; 
        fastcgi_index index.php; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        fastcgi_param HTTPS off; 
        try_files $uri =404;
         include fastcgi_params; 
    }
}

o arquivo example1 é

server { 
  listen example1.com:80; 

  root /var/www/example1.com; 
  index index.php index.html index.htm; 

  server_name example1.com www.example1.com; 

  location / { 
     try_files $uri $uri/ =404; 
  }

    location ~\.php$ { 
        fastcgi_pass unix:/var/run/php5-fpm.sock; 
        fastcgi_split_path_info ^(.+\.php)(/.*)$; 
        fastcgi_index index.php; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        fastcgi_param HTTPS off; 
        try_files $uri =404;
         include fastcgi_params; 
    }
}

eu recebo esse erro nos logs

2016/09/04 21:41:08 [emerg] 1788#0: invalid host in "http://www.example1.com:80" of the "listen" directive in /etc/nginx/sites-enabled/example1.com:2
    
por Daniel Tikanti 04.09.2016 / 19:42

1 resposta

2

Na mensagem de erro, parece que nginx está tendo dificuldades para resolver a instrução listen example1.com:80; para um endereço IP.

Fornecer um endereço IP à diretiva listen é útil se você tiver um servidor com hospedagem múltipla e desejar restringir os serviços a uma interface.

Na maioria dos casos, a instrução listen 80; será suficiente. Eu sugiro que você use o seguinte para os dois blocos de servidor:

server {
    listen 80;
    ...
}

Veja este documento para saber mais.

    
por 05.09.2016 / 10:33

Tags