nginx + php-cgi в многопоточном режиме

user_name nginx-forum at nginx.us
Fri Nov 13 03:15:21 MSK 2009


Всем  доброго времени суток! Начал разбираться с nginx, все великолепно в плане его возможностей, но вот возник вопрос по связке с php -   как сконфигурировать nginx/php-cgi для работы последнего в многопоточном режиме?

Есть два PHP скрипта:


<?php
    sleep(10);
    echo "Test 1";
?>


<?php
    echo rand(0,1000);
?>


Если запустить первый в браузере и в это время попытаться выполнить второй, то он не запуститься пока не пройдет 10 секунд ожидания. Т.е. php-cgi (под Windows) обслуживает только одного клиента.

Конфигурация nginx


worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        
        set  $root_for_cgi     "C:/nginx-0.8.21/html/";

        location / {
            root   html;
            index  index.php index.html index.htm;
        }

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:521;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $root_for_cgi$fastcgi_script_name;
            include        fastcgi_params;
        }

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


php-cgi.exe запускаю из командной строки такБез подсветки

php-cgi.exe -b 127.0.0.1:521


Posted at Nginx Forum: http://forum.nginx.org/read.php?21,22469,22469#msg-22469






More information about the nginx-ru mailing list