Вот проблема: у меня есть два домена, которые указывают на два доступных IP-адреса на сервере. Сказать:

siteone.com указал на 1.2.3.4 sitetwo.com указал на 1.2.3.5

Для настройки nginx vhosts я поставил

server {
        listen    site1.com:80; # 
        server_name   site1.com www.site1.com;

в файле vhost1 и

server {
        listen    site2.com:80; # 
        server_name   site2.com www.site2.com;

в (отдельном) файле vhost2. Два файла vhost являются точными копиями, конечно, за исключением путей site1 и site2. И vhost1 хорошо работает сам по себе.

Однако после перезапуска nginx я получаю эту ошибку:

Restarting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok [emerg]: bind() to 1.2.3.5:80 failed (99: Cannot assign requested address) configuration file /etc/nginx/nginx.conf test failed

Когда я положил

server {
        listen   *:80; # 
        server_name   site2.com www.site2.com;

На виртуальном хосте site2 nginx перезапускается без ошибок, но не отображает страницы по пути site2.

Я сбит с толку и ценю вашу помощь.

answer

Попробуй это:

server {
    listen    1.2.3.4:80; # 
    server_name   site1.com www.site1.com;
    ...
}

server {
    listen    1.2.3.5:80; # 
    server_name   site2.com www.site2.com;
    ...
}