* Re: [devel] [git update] packages/nginx: heads/master @ 2007-08-30 21:24 ` Dmitry V. Levin 2007-08-30 22:27 ` Konstantin A. Lepikhov 2007-08-31 14:11 ` Michael Shigorin 0 siblings, 2 replies; 13+ messages in thread From: Dmitry V. Levin @ 2007-08-30 21:24 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 2289 bytes --] On Fri, Aug 31, 2007 at 01:15:18AM +0400, Denis Smirnov wrote: > Update of /people/mithraen/packages/nginx.git [...] > Full diff since `nginx/0.5.31-alt2' follows: > diff --git a/nginx.init b/nginx.init > index 342181a..290bf4e 100755 > --- a/nginx.init > +++ b/nginx.init > @@ -13,6 +13,8 @@ WITHOUT_RC_COMPAT=1 > > LOCKFILE=/var/lock/nginx/nginx > PIDFILE=/var/run/nginx.pid > +OLDBINPID=/var/run/nginx.pid.oldbin > +BINARY=/usr/sbin/nginx Зачем это?? > RETVAL=0 > > start() > @@ -26,7 +28,7 @@ start() > > stop() > { > - stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- /usr/sbin/nginx > + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- $BINARY Не нужен никакой $BINARY, выкиньте --name nginx и напишите по-человечески. Может хотя бы /etc/init.d/template посмотрите? > upgrade() > { > - check > - RETVAL=$? > - if [ $RETVAL -eq 0 ]; then > - echo -n $"Upgrading nginx: " > - kill -USR2 `cat $PIDFILE` > + conftest > RETVAL=$? > + echo -n "Upgrading nginx: " > + if [ $RETVAL -eq 0 ]; then > + # TODO: use start-stop-daemon? > + [ -s "$PIDFILE" ] && kill -USR2 `cat "$PIDFILE"` > + RETVAL=$? > + # let the signal through; the system might be fairly busy, > + # so if we don't see the oldpidfile immediately, wait 5 sec > + [ -s "$OLDBINPID" ] || sleep 5 > + [ -s "$OLDBINPID" ] && kill -TERM `cat "$OLDBINPID"` > + success > + else > + failure > + RETVAL=1 > + fi Какому пользователю принадлежит файл $PIDFILE? Делать kill -USR2 `cat "$PIDFILE"` не глядя нельзя, если слово "безопасность" для вас не пустой звук. > condrestart) > - [ -e "$LOCKFILE" ] && upgrade ||: > + # package upgrade should invoke upgrade(); > + # sysadmin doing condrestart by hand > + # should invoke restart() if nginx's running. > + # see also manual/triggers in rpm docs > + # and /usr/sbin/post_service > + if ! [ "$RPM_INSTALL_ARG1" -ge 0 ] 2>/dev/null; then > + if [ -e "$LOCKFILE" ]; then > + restart > + fi > + exit 0 > + fi > + if [ "$RPM_INSTALL_ARG1" -gt 1 ]; then > + upgrade > + fi А почему при обновлении пакета нельзя выполнить обычный condrestart? -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-30 21:24 ` [devel] [git update] packages/nginx: heads/master Dmitry V. Levin @ 2007-08-30 22:27 ` Konstantin A. Lepikhov 2007-08-31 0:09 ` Dmitry V. Levin 2007-08-31 14:11 ` Michael Shigorin 1 sibling, 1 reply; 13+ messages in thread From: Konstantin A. Lepikhov @ 2007-08-30 22:27 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 459 bytes --] Hi Dmitry! Friday 31, at 01:24:22 AM you wrote: ... > Зачем это?? ... > > А почему при обновлении пакета нельзя выполнить обычный condrestart? Это, видимо, пытались повторить рекомендации Сысоева по обновлению nginx "на лету", т.е. без закрытия соединений - http://sysoev.ru/nginx/docs/control.html Я тогда сделал upgrade как раз с полуручным управлением, поскольку логика с откатом конфигурации требует участия человека. -- WBR et al. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-30 22:27 ` Konstantin A. Lepikhov @ 2007-08-31 0:09 ` Dmitry V. Levin 2007-08-31 0:32 ` Michael Shigorin 0 siblings, 1 reply; 13+ messages in thread From: Dmitry V. Levin @ 2007-08-31 0:09 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 540 bytes --] On Fri, Aug 31, 2007 at 02:27:55AM +0400, Konstantin A. Lepikhov wrote: > Friday 31, at 01:24:22 AM you wrote: > > ... > > Зачем это?? > ... > > > > А почему при обновлении пакета нельзя выполнить обычный condrestart? > Это, видимо, пытались повторить рекомендации Сысоева по обновлению nginx "на > лету", т.е. без закрытия соединений - http://sysoev.ru/nginx/docs/control.html Может сперва сделать, чтобы этот nginx просто нормально работал не хуже apache1, а потом уже будем заниматься усовершенствованиями? -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-31 0:09 ` Dmitry V. Levin @ 2007-08-31 0:32 ` Michael Shigorin 2007-08-31 0:40 ` Dmitry V. Levin 0 siblings, 1 reply; 13+ messages in thread From: Michael Shigorin @ 2007-08-31 0:32 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 981 bytes --] On Fri, Aug 31, 2007 at 04:09:51AM +0400, Dmitry V. Levin wrote: > > > А почему при обновлении пакета нельзя выполнить обычный > > > condrestart? > > Это, видимо, пытались повторить рекомендации Сысоева по > > обновлению nginx "на лету", т.е. без закрытия соединений - > > http://sysoev.ru/nginx/docs/control.html > Может сперва сделать, чтобы этот nginx просто нормально работал > не хуже apache1, а потом уже будем заниматься > усовершенствованиями? Я было так и подумал, но он вдруг починился. :) Насчёт твоих сомнений по патчу для nginx.init::stop() -- постараюсь проверить, но фактически у меня именно так и заработало (проверялось на хостовом /etc/init.d/nginx, в сборку переносились только более-менее проверенные изменения, с которыми проблемы вылазили уже при дальнейшей проверке). PS: никогда бы не подумал, что Сысоев(!) не осилил autotools... -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-31 0:32 ` Michael Shigorin @ 2007-08-31 0:40 ` Dmitry V. Levin 2007-08-31 0:47 ` Michael Shigorin 0 siblings, 1 reply; 13+ messages in thread From: Dmitry V. Levin @ 2007-08-31 0:40 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 707 bytes --] On Fri, Aug 31, 2007 at 03:32:55AM +0300, Michael Shigorin wrote: > On Fri, Aug 31, 2007 at 04:09:51AM +0400, Dmitry V. Levin wrote: > > > > А почему при обновлении пакета нельзя выполнить обычный > > > > condrestart? > > > Это, видимо, пытались повторить рекомендации Сысоева по > > > обновлению nginx "на лету", т.е. без закрытия соединений - > > > http://sysoev.ru/nginx/docs/control.html > > Может сперва сделать, чтобы этот nginx просто нормально работал > > не хуже apache1, а потом уже будем заниматься > > усовершенствованиями? > > Я было так и подумал, но он вдруг починился. :) В принципе описанную схему реализовать несложно, если есть работающий proof-of-concept. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-31 0:40 ` Dmitry V. Levin @ 2007-08-31 0:47 ` Michael Shigorin 2007-08-31 1:10 ` Dmitry V. Levin 0 siblings, 1 reply; 13+ messages in thread From: Michael Shigorin @ 2007-08-31 0:47 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 758 bytes --] On Fri, Aug 31, 2007 at 04:40:21AM +0400, Dmitry V. Levin wrote: > > > > > А почему при обновлении пакета нельзя выполнить обычный > > > > > condrestart? > > > > Это, видимо, пытались повторить рекомендации Сысоева по > > > > обновлению nginx "на лету", т.е. без закрытия соединений > > > > - http://sysoev.ru/nginx/docs/control.html > > > Может сперва сделать, чтобы этот nginx просто нормально > > > работал не хуже apache1, а потом уже будем заниматься > > > усовершенствованиями? > > Я было так и подумал, но он вдруг починился. :) > В принципе описанную схему реализовать несложно, если есть > работающий proof-of-concept. Какую/какой? -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-31 0:47 ` Michael Shigorin @ 2007-08-31 1:10 ` Dmitry V. Levin 2007-08-31 14:02 ` Michael Shigorin 0 siblings, 1 reply; 13+ messages in thread From: Dmitry V. Levin @ 2007-08-31 1:10 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 877 bytes --] On Fri, Aug 31, 2007 at 03:47:22AM +0300, Michael Shigorin wrote: > On Fri, Aug 31, 2007 at 04:40:21AM +0400, Dmitry V. Levin wrote: > > > > > > А почему при обновлении пакета нельзя выполнить обычный > > > > > > condrestart? > > > > > Это, видимо, пытались повторить рекомендации Сысоева по > > > > > обновлению nginx "на лету", т.е. без закрытия соединений > > > > > - http://sysoev.ru/nginx/docs/control.html > > > > Может сперва сделать, чтобы этот nginx просто нормально > > > > работал не хуже apache1, а потом уже будем заниматься > > > > усовершенствованиями? > > > Я было так и подумал, но он вдруг починился. :) > > В принципе описанную схему реализовать несложно, если есть > > работающий proof-of-concept. > > Какую/какой? Схему, описанную у Сысоева, можно реализовать корректно, если есть ещё кривая но уже работающая реализация. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-31 1:10 ` Dmitry V. Levin @ 2007-08-31 14:02 ` Michael Shigorin 2007-08-31 21:43 ` Dmitry V. Levin 0 siblings, 1 reply; 13+ messages in thread From: Michael Shigorin @ 2007-08-31 14:02 UTC (permalink / raw) To: ALT Devel discussion list On Fri, Aug 31, 2007 at 05:10:53AM +0400, Dmitry V. Levin wrote: > > > > > Может сперва сделать, чтобы этот nginx просто нормально > > > > > работал не хуже apache1, а потом уже будем заниматься > > > > > усовершенствованиями? > > > > Я было так и подумал, но он вдруг починился. :) > > > В принципе описанную схему реализовать несложно, если есть > > > работающий proof-of-concept. > > Какую/какой? > Схему, описанную у Сысоева, можно реализовать корректно, > если есть ещё кривая но уже работающая реализация. Так покатит? http://git.altlinux.org/people/mike/packages/nginx.git?p=nginx.git;a=shortlog;h=mike/init-secure-fixup -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-31 14:02 ` Michael Shigorin @ 2007-08-31 21:43 ` Dmitry V. Levin 0 siblings, 0 replies; 13+ messages in thread From: Dmitry V. Levin @ 2007-08-31 21:43 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 844 bytes --] On Fri, Aug 31, 2007 at 05:02:27PM +0300, Michael Shigorin wrote: > On Fri, Aug 31, 2007 at 05:10:53AM +0400, Dmitry V. Levin wrote: > > > > > > Может сперва сделать, чтобы этот nginx просто нормально > > > > > > работал не хуже apache1, а потом уже будем заниматься > > > > > > усовершенствованиями? > > > > > Я было так и подумал, но он вдруг починился. :) > > > > В принципе описанную схему реализовать несложно, если есть > > > > работающий proof-of-concept. > > > Какую/какой? > > Схему, описанную у Сысоева, можно реализовать корректно, > > если есть ещё кривая но уже работающая реализация. > > Так покатит? > > http://git.altlinux.org/people/mike/packages/nginx.git?p=nginx.git;a=shortlog;h=mike/init-secure-fixup Спасибо, в -alt4 настолько же лучше чем в -alt3, насколько в -alt3 лучше чем в -alt1. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-30 21:24 ` [devel] [git update] packages/nginx: heads/master Dmitry V. Levin 2007-08-30 22:27 ` Konstantin A. Lepikhov @ 2007-08-31 14:11 ` Michael Shigorin 2007-08-31 15:19 ` Денис Смирнов 1 sibling, 1 reply; 13+ messages in thread From: Michael Shigorin @ 2007-08-31 14:11 UTC (permalink / raw) To: ALT Devel discussion list On Fri, Aug 31, 2007 at 01:24:22AM +0400, Dmitry V. Levin wrote: > > +OLDBINPID=/var/run/nginx.pid.oldbin > > +BINARY=/usr/sbin/nginx > Зачем это?? Постфактум: Костик объяснил правильно; и оно почти работало. Собственно, эти костыли были этапом экспериментов -- то, куда оно пришло сегодня, вчера в общих чертах и представлялось. > > - stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- /usr/sbin/nginx > > + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- $BINARY > Не нужен никакой $BINARY, выкиньте --name nginx и напишите по-человечески. > Может хотя бы /etc/init.d/template посмотрите? Дим, смотрел и не раз. Здесь проблема была не в починке методом s,nginx,/usr/sbin/nginx, а в применении --name nginx с самого начала. Где бы правильное применение задокументировать -- в template? Каждый раз читать /etc/init.d/functions не очень интересно. > Какому пользователю принадлежит файл $PIDFILE? root:root > Делать kill -USR2 `cat "$PIDFILE"` не глядя нельзя, если слово > "безопасность" для вас не пустой звук. А то. Более подробный анализ -- здесь: https://bugzilla.altlinux.org/show_bug.cgi?id=12655#c9 > > condrestart) > > - [ -e "$LOCKFILE" ] && upgrade ||: > > + # package upgrade should invoke upgrade(); > > + # sysadmin doing condrestart by hand > > + # should invoke restart() if nginx's running. > > + # see also manual/triggers in rpm docs > > + # and /usr/sbin/post_service > > + if ! [ "$RPM_INSTALL_ARG1" -ge 0 ] 2>/dev/null; then > > + if [ -e "$LOCKFILE" ]; then > > + restart > > + fi > > + exit 0 > > + fi > > + if [ "$RPM_INSTALL_ARG1" -gt 1 ]; then > > + upgrade > > + fi > А почему при обновлении пакета нельзя выполнить обычный condrestart? Поскольку можно круто выпендриться и выполнить необычный =) Со времён nginx-0.1.x так хотел, но только теперь добрался. УМВР и потому в git. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] packages/nginx: heads/master 2007-08-31 14:11 ` Michael Shigorin @ 2007-08-31 15:19 ` Денис Смирнов 2007-08-31 15:56 ` [devel] [git update] [JT] " Alexey I. Froloff 0 siblings, 1 reply; 13+ messages in thread From: Денис Смирнов @ 2007-08-31 15:19 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 702 bytes --] On Fri, Aug 31, 2007 at 05:11:58PM +0300, Michael Shigorin wrote: >> А почему при обновлении пакета нельзя выполнить обычный condrestart? MS> Поскольку можно круто выпендриться и выполнить необычный =) MS> Со времён nginx-0.1.x так хотел, но только теперь добрался. MS> УМВР и потому в git. Поясняю -- nginx умеет "плавное" обновление -- то есть новые соединения будут обслуживаться новыми дочками, а старые -- старыми. Таким образом можно делать обновление на живой системе без остановки сервиса. -- С уважением, Денис http://freesource.info ---------------------------------------------------------------------------- Хочешь стать бесконечно значительным, раздели себя на ноль. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] [JT] packages/nginx: heads/master 2007-08-31 15:19 ` Денис Смирнов @ 2007-08-31 15:56 ` Alexey I. Froloff 2007-09-01 13:09 ` Денис Смирнов 0 siblings, 1 reply; 13+ messages in thread From: Alexey I. Froloff @ 2007-08-31 15:56 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 477 bytes --] * Денис Смирнов <mithraen@> [070831 19:19]: > Поясняю -- nginx умеет "плавное" обновление -- то есть новые соединения > будут обслуживаться новыми дочками, а старые -- старыми. Таким образом > можно делать обновление на живой системе без остановки сервиса. Подумаешь? irssi тоже так умеет. -- Regards, Alexey I. Froloff AIF5-RIPN, AIF5-RIPE ------------------------------------------- Inform-Mobil, Ltd. System Administrator http://www.inform-mobil.ru/ [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] [git update] [JT] packages/nginx: heads/master 2007-08-31 15:56 ` [devel] [git update] [JT] " Alexey I. Froloff @ 2007-09-01 13:09 ` Денис Смирнов 0 siblings, 0 replies; 13+ messages in thread From: Денис Смирнов @ 2007-09-01 13:09 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 565 bytes --] On Fri, Aug 31, 2007 at 07:56:54PM +0400, Alexey I. Froloff wrote: >> Поясняю -- nginx умеет "плавное" обновление -- то есть новые соединения >> будут обслуживаться новыми дочками, а старые -- старыми. Таким образом >> можно делать обновление на живой системе без остановки сервиса. AIF> Подумаешь? irssi тоже так умеет. Я к тому, что это требует отдельных плясок вокруг initscript'а. -- С уважением, Денис http://freesource.info ---------------------------------------------------------------------------- Плохомy пpогpаммеpy дpайвеpы мешают! [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2007-09-01 13:09 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2007-08-30 21:24 ` [devel] [git update] packages/nginx: heads/master Dmitry V. Levin 2007-08-30 22:27 ` Konstantin A. Lepikhov 2007-08-31 0:09 ` Dmitry V. Levin 2007-08-31 0:32 ` Michael Shigorin 2007-08-31 0:40 ` Dmitry V. Levin 2007-08-31 0:47 ` Michael Shigorin 2007-08-31 1:10 ` Dmitry V. Levin 2007-08-31 14:02 ` Michael Shigorin 2007-08-31 21:43 ` Dmitry V. Levin 2007-08-31 14:11 ` Michael Shigorin 2007-08-31 15:19 ` Денис Смирнов 2007-08-31 15:56 ` [devel] [git update] [JT] " Alexey I. Froloff 2007-09-01 13:09 ` Денис Смирнов
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git