another problem(think, a bug): looks like config do not reloaded at first HUP

Andrey deepmindster at gmail.com
Tue Apr 17 22:05:53 MSD 2007


Доброго времени суток.
Я наблюдаю такую ситуацию:

собираю nginx с перл-модулем.

удаляю лог-файлы.
запускаю nginx с прилагаемым nginx_test.conf
# /usr/local/sbin/nginx -c /usr/local/etc/nginx/nginx_test.conf

лог файлы пусты.

следующим действием добавляю #perl в nginx_test.conf (приложение
nginx_test_with_perl.conf)
затем говорю nginx HUP

# killproc -p "/var/run/nginx_test.pid" -HUP /usr/local/sbin/nginx

лог файлы пусты. НО: должна быть ошибка перла.

говорю HUP ещё раз.

# killproc -p "/var/run/nginx_test.pid" -HUP /usr/local/sbin/nginx

в логах ошибка перла(приложение error_log_perl_error.log).

убираю из конфига #perl (приложение nginx_test.conf снова). говорю HUP.

# killproc -p "/var/run/nginx_test.pid" -HUP /usr/local/sbin/nginx

в лог дописывается ошибка (приложение error_log_perl_error2.log).

далее, говорю HUP ещё 2 раза, получаю в логах ещё две ошибки (приложение
error_log_perl_error3.log).

если до того, как добавлять в конфиг #perl сказать HUP, то ошибка
появляется после первого HUP-а, а не после второго.

Замечал, что иногда конфиги по HUP не перечитываются. Безотносительно
perl_module. Пока не поймал иного примера... Если поймаю - отпишу.


так же хотел бы заметить, что поведение сервера по сравнению с версиями
0.3.x изменилось. Так как в списке изменений мне не удалось найти
объяснения, думаю, нужно сказать об этом.
Ранее по HUP переоткрывались лог-файлы. Теперь этого не происходит. (Не
знаю, должно ли это происходить по HUP или нет, в документации не
сказано, что должно, значит, видимо, не должно, но раньше происходило
точно (я пропустил в документации что файлы долны переоткрываться по
USR1, и чистил логи используя HUP. После обновления до 0.5.17 логи
перестали чистится, поэтому и заметил)). Объяснение из рассылки о том,
что рабочие процессы не успевают завершиться рассматривал. После HUP
висят те же 2 процесса (воркер и мастер, с теми же номерами что и до
HUP), т.е. процессы в нормальном рабочем состоянии (меня, правда
смущает, что id воркера тот же...)

nginx-0.5.17
linux-2.6.16, SUSE LINUX 10.1 (i586)
gcc-4.1.0
./configure --prefix=/usr/local
--conf-path=/usr/local/etc/nginx/nginx.conf
--pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log --user=nginx --group=nginx
--http-client-body-temp-path=/tmp/client_body_temp
--http-proxy-temp-path=/tmp/proxy_temp --without-http_ssi_module
--without-http_geo_module --without-http_map_module
--without-http_referer_module --without-http_memcached_module
--without-http_empty_gif_module --without-http_browser_module
--with-http_perl_module

С уважением, 
Андрей.
-------------- next part --------------
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error_test.log;


pid        /var/run/nginx_test.pid;

events {
    worker_connections  1024;
}


http {
    access_log /var/log/nginx/access_test.log;
    include       /usr/local/etc/nginx/mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
    
    charset  utf-8;
    source_charset utf-8;
    override_charset off;

    server {
        listen       192.168.0.20:8080;
        server_name  localhost;

        location / {
            root   /srv/www/vhosts/andrey;
	    autoindex  on;
        }
    }    
}
-------------- next part --------------
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error_test.log;


pid        /var/run/nginx_test.pid;

events {
    worker_connections  1024;
}


http {
    access_log /var/log/nginx/access_test.log;
    include       /usr/local/etc/nginx/mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
    
    charset  utf-8;
    source_charset utf-8;
    override_charset off;

    server {
        listen       192.168.0.20:8080;
        server_name  localhost;

        location / {
            root   /srv/www/vhosts/andrey;
	    autoindex  on;
        }
#perl
    }    
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: error_log_perl_error.log
Type: text/x-log
Size: 148 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070417/dc354f53/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: error_log_perl_error2.log
Type: text/x-log
Size: 296 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070417/dc354f53/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: error_log_perl_error3.log
Type: text/x-log
Size: 592 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070417/dc354f53/attachment-0002.bin>


More information about the nginx-ru mailing list