Welcome! Log In Create A New Profile

Advanced

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed
September 16, 2024 02:36PM
On 16.09.2024 19:25, Konstantin Pavlov wrote:

>> а как Вам идея вместо двух unit-файлов nginx.service
>> и nginx-debug.service использовать только один unit-файл
>> nginx.service и использовать alternatives для переключения
>> бинарника /usr/sbin/nginx между release и debug версиями ?
>
> Мы поддерживаем несколько разных ОС в наших пакетах на nginx.org (и еще
> больше - для коммерческой версии), и не во всех них есть поддержка
> alternatives.  По этой причине не хотелось бы это реализовывать для
> какой-то одной конкретной ОС если нельзя сделать везде одинаково.

это можно сделать везде одинаково, на всех Linux/UNIX системах.

в пакет положить два бинарника:

/usr/sbin/nginx-release
/usr/sbin/nginx-debug

а потом симлинк /usr/sbin/nginx устанавливать
на один из этих бинарников внешним скриптом,
если такого симлинка нет - установить
его тогда на /usr/sbin/nginx-release

например, так:

NGINX_VERSION=debug /sbin/service nginx upgrade
NGINX_VERSION=release /sbin/service nginx upgrade

просто добавив скрипт
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
такую логику:

если переменная NGINX_VERSION равна debug то установить симлинк
/usr/sbin/nginx чтобы он указывал на на бинарник /usr/sbin/nginx-debug

если переменная NGINX_VERSION равна release то установить симлинк
/usr/sbin/nginx чтобы он указывал на на бинарник /usr/sbin/nginx-release

если переменная NGINX_VERSION не определена - не трогать симлинк.

если переменная NGINX_VERSION определена, но не равна release или debug
то в таком случае выдать сообщение про ошибку и аварийно завершить
работу скрипта с ненулевым кодом ошибки

переменную NGINX нельзя использовать, потому что

# man nginx

ENVIRONMENT
The NGINX environment variable is used internally by nginx and
should not be set directly by the user.

===============================================================

или так:

nginx upgrade to debug
nginx upgrade to release
nginx upgrade

причем, одинарные или двойные минусы перед словом "upgrade"
тут и не нужны, потому что это же и есть именно что команда

в таком стиле работает и zfs и systemctl и многие другие
команды современного Linux/UNIX например, тот же kubectl

если же переключение между release / debug версями происходит с помощью
двух отдельных сервисов nginx.service и nginx-debug.service, то в таком
случае переключение между ними происходит с потерей соединений клиентов

--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

/usr/sbin/nginx alternatives

Hennadii Makhomed September 15, 2024 10:34AM

Re: /usr/sbin/nginx alternatives

Илья Шипицин September 15, 2024 02:06PM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 15, 2024 05:18PM

Re: /usr/sbin/nginx alternatives

Илья Шипицин September 15, 2024 06:32PM

Re: /usr/sbin/nginx alternatives

raven_kg@megaline.kg September 15, 2024 11:14PM

Re: /usr/sbin/nginx alternatives

Konstantin Pavlov September 16, 2024 12:12PM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 16, 2024 12:54PM

Re: /usr/sbin/nginx alternatives

Konstantin Pavlov September 16, 2024 01:26PM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 16, 2024 02:36PM

Re: /usr/sbin/nginx alternatives

Konstantin Pavlov September 16, 2024 03:08PM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 16, 2024 04:00PM

Re: /usr/sbin/nginx alternatives

Илья Шипицин September 16, 2024 04:54PM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 16, 2024 05:14PM

Re: /usr/sbin/nginx alternatives

Konstantin Pavlov September 16, 2024 04:56PM

Re: /usr/sbin/nginx alternatives

russjura September 16, 2024 05:08PM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 16, 2024 06:04PM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 17, 2024 04:12AM

Re: /usr/sbin/nginx alternatives

Илья Шипицин September 17, 2024 04:22AM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 17, 2024 04:46AM

Re: /usr/sbin/nginx alternatives

Илья Шипицин September 17, 2024 04:56AM

Re: /usr/sbin/nginx alternatives

Hennadii Makhomed September 17, 2024 07:32AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 200
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready