четверг, 21 апреля 2011 г.

Деплой большого количества сайтов на php и nginx

Когда количество сайтов на сервере переваливает за несколько десятков, начинаешь задумываться, как бы упростить себе жизнь. Я создал для себя простой шаблон, использующий переменную Host из запроса:

    server {
        listen       80;
        server_name  site1.domain.tld;

        server_name  site2.domain2.tld;

        root   /home/$host;
        location / {
           index  index.php index.html index.htm;
        }

        location ~ \.php$ {
            fastcgi_pass   localhost:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
        location ~ /\.svn {
            deny  all;
        }

    }

Тут предпологается, что php-fpm запущен на локалхосте на порту 9000.
Таким образом остается лишь выложить скрипты и статику в директорию /home/$host и добавить соответсвующую директиву server_name.

1 комментарий:

  1. Народ... несколько десятков... у меня nginx уперся в 258 и всё, а надо хотя бы до 700 довести.
    Кто что знает по этому поводу?
    С параметрами игрался... вначале было около 20, поднимал все что можно
    server_names_hash_bucket_size 128;
    server_names_hash_max_size 16777216;
    Уже дальше некуда.. если кто знает - пишите в комментах...

    ОтветитьУдалить