Настройка виртуальных серверов

nginx


english
עברית
日本語
русский
türkçe

новости [en]

об nginx
скачать
безопасность [en]
pgp ключи [en]
документация
введение [en]
howto
faq
trac
wiki
ссылки [en]
книги [en]
поддержка
пожертвования [en]
nginx.com

Настраивать виртуальные сервера очень просто. В каждом сервере нужно описать все адреса и порты, на которых нужно принимать соединения для этого сервера, и все имена серверов. Рассмотрим следующую конфигурацию:

http {

    server {
        listen  192.168.10.1;
        listen  192.168.10.1:8000;

        server_name   one.example.com  www.one.example.com;

        ...
    }

    server {
        listen  192.168.10.1;
        listen  192.168.10.2:8000;
        listen  9000;

        server_name   two.example.com  www.two.example.com
                      three.example.com  www.three.example.com;

        ...
    }

    server {
        listen  9000;

        server_name   four.example.com  www.four.example.com;

        ...
    }

}

При такой настройке запрос, пришедший на 192.168.10.1:80 с заголовком "Host: www.three.example.com", будет обслужен вторым сервером. Если в запросе нет заголовка "Host" или же в нём указано имя, неописанное ни в одном сервере, слушающем на адресе и порту, на которые пришёл запрос, то запрос будет обслужен сервером, у которого первым описаны эти адрес и порт. Например, все запросы без заголовка "Host", пришедшие на 9000 порт, будут обслужены вторым сервером (two.example.com). То же самое произойдёт и с запросом с заголовком "Host: www.one.example.com", пришедшим на 9000 порт. Для гибкой настройки серверов по умолчанию можно использовать параметр default в директиве listen.