Я только начал с Nginx, пытаюсь использовать виртуальные хосты, но не могу понять, что не так с моей конфигурацией ...
Вот содержание папки с поддержкой сайтов:
root@cavalier:/etc/nginx/sites-enabled# ls -hal
total 12K
drwxrwxr-x 2 root vnc 4.0K Jul 28 18:06 .
drwxr-xr-x 5 root root 4.0K Jul 1 16:58 ..
-rw-r--r-- 1 root root 360 Jul 28 18:07 default
lrwxrwxrwx 1 root root 31 Jul 28 18:01 example1.com -> ../sites-available/example1.com
lrwxrwxrwx 1 root root 33 Jul 28 17:57 example2.com -> ../sites-available/example2.com
Содержание дефолт серверный блок:
root@cavalier:/etc/nginx/sites-enabled# cat default
server {
listen 80 default_server;
root /www/example.com;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
В пример 1 серверный блок:
root@cavalier:/etc/nginx/sites-enabled# cat example1.com
server {
listen example1.com:80;
server_name www.example1.com example1.com;
root /www/example1.com;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
В пример2 серверный блок:
root@cavalier:/etc/nginx/sites-enabled# cat example2.com
server {
server_name example2.com;
root /www/example2.com;
index index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
По какой-то причине nginx обслуживает файлы только с example1.com для всех доменов. Он даже игнорирует конфигурацию сервера по умолчанию и сразу переходит к example1.
Простите, я новичок в nginx и в основном использую Apache. Я предполагаю, что это должно быть относительно просто, и я просто кое-что упускаю ... Я потратил часы, пытаясь понять это, и любая помощь будет оценена.
Server1 наиболее точно соответствует запросу: IP: порт, а два других соответствуют только порту. Итак, nginx выбирает server1 для всех запросов, поступающих на эту пару IP: порт.