Как обновить nginx?

12
DH
На сайте с 09.01.2010
Offline
0
6331

Когда заказывал VPS, хостинг провайдер настроил nginx, поэтому сильно в эти дела не вникал:). Но вот появилась потребность обновить до последней версии. Как это можно сделать? Если скажем заменить папку с nginx на более новую версию - такой вариант подойдет, или натворю дел?:) Можно ли провести обновление в автоматическом режиме?

M
На сайте с 16.09.2009
Offline
278
#1

Зависит от того как "настроил". если установлен пакет из дистрибутива - обычно достаточно

пересобрать его с новой версией nginx. И установить его штатным образом.

Если собирали самостоятельно - соберите новый бинарник и положите его на

место старого. Дальше все описано здесь (Обновление сервера на лету):

http://sysoev.ru/nginx/docs/control.html

PS:

А зачем нужно обновить, если не секрет?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
DH
На сайте с 09.01.2010
Offline
0
#2

Если папку со старой версией заменить на папку с новой - такой вариант подойдет?

unlimbox
На сайте с 03.01.2008
Offline
56
#3
Если собирали самостоятельно - соберите новый бинарник и положите его на

Отличный вариант. Несколько раз именно так и обновлял.

Даже если пакет из дистрибутива, достаточно сконфигурировать его примерно так (свой пример для debian (уж очень старая версия в репозитарие)):

./configure --sbin-path=/usr/local/sbin --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --prefix=/var/lib/nginx --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock --with-http_geoip_module

выполнить make и забрать получившийся бинарник из папки objs и вставить его на место старого

ЗЫ. Ненужные модули убрать, нужные добавить

JamBlog.ru (http://jamblog.ru)
M
На сайте с 16.09.2009
Offline
278
#4

DenHost, уточните что за "папка". Если какая-нибудь /usr/local/nginx - там скорее всего

измененные конфиги лежат. Перезаписывать их теми, что устанавливаются по

умолчанию - нельзя. Тогда просто соберите nginx _с теми же опциями, что и

установленная раньше сборка_ и сделайте make install. Ну и тупо рестарт сделайте

сервису - обновление "на лету" пока не для Вас ;).

ЗЫ: unlimbox, в Debian давно 0.7.64 - куда уж новее?

unlimbox
На сайте с 03.01.2008
Offline
56
#5

Если Вы о папке objs, то эта папка находится в (к примеру) tmp/папка_с_распакованными_исходниками_nginx/objs в ней и находится бинарник nginx после выполнения make

PS значит я туда уже давненько не заглядывал ;)

M
На сайте с 16.09.2009
Offline
278
#6

unlimbox, вопрос был к DenHost.

DH
На сайте с 09.01.2010
Offline
0
#7

unlimbox, спасибо. К сожалению в этом плане сильно плаваю, поэтому не дошло как с помощью этой информации обновится.

myhand, да, действительно, там конфиги.

Сейчас скачал версию: nginx-0.7.64. Какие дальнейшие действия, как именно ее можно установить на сервер.

Про обновление на лету читал, вот что пишут:

"Для обновления сервера нужно записать на место старого исполняемого файла новый. Затем нужно послать сигнал USR2 главному процессу — он переименует свой файл с номером процесса в файл с суффиксом .oldbin, например, /usr/local/nginx/logs/nginx.pid.oldbin, после чего запустит новый исполняемый файл, а тот в свою очередь — свои рабочие процессы"

Но где искать этот старый исполняемый файл?

M
На сайте с 16.09.2009
Offline
278
#8

pidof nginx

получаем <pid> процессов nginx. берем любой и

дальше идем в /proc/<pid>/ смотрим куда указывает ссылка exe - это и есть старый бинарник.

смотрим опции, с которыми он собирался:

/proc/<pid>/exe -V

дальше собираем, делаем make install и рестарт.

DH
На сайте с 09.01.2010
Offline
0
#9

Вот тут немного расписано: http://sysoev.ru/nginx/getting_started.html

Но мне нужно только обновить, без изменений конфигурации. А в каком файле хранятся все параметры и настройки? Дабы перед обновлением сделать его бекап?

DenHost добавил 09.01.2010 в 21:59

myhand спасибо, сейчас попробую.

M
На сайте с 16.09.2009
Offline
278
#10

DenHost, вам дали пошаговую инструкцию. если сделаете сборку со старыми

опциями - конфигурационные файлы make install не перезапишет.

а чтение документации объяснит вам что означают опции, указанные при сборке,

какие умолчания и где находятся конфигурационные файлы.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий