LINUX.ORG.RU
решено ФорумAdmin

Debian 8 и memcached

 ,


0

1

Всем привет!

Не могу понять в чем прикол, дано:

# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 8.4 (jessie)
Release:	8.4
Codename:	jessie
и memcached 1.4.21

Нужно сделать что бы memcached слушал два порта, 11211 и 11212.

Сделал как сказано в /etc/init.d/memcached

...
# Usage:
# cp /etc/memcached.conf /etc/memcached_server1.conf
# cp /etc/memcached.conf /etc/memcached_server2.conf
# start all instances:
# /etc/init.d/memcached start
# start one instance:
# /etc/init.d/memcached start server1
...

в /etc/memcached_server2.conf заменил порт на 11212

делаю /etc/init.d/memcached restart

# netstat -lp | grep mem
tcp        0      0 *:11211                 *:*                     LISTEN      4547/memcached  
tcp6       0      0 [::]:11211              [::]:*                  LISTEN      4547/memcached  
udp        0      0 *:11211                 *:*                                 4547/memcached  
udp6       0      0 [::]:11211              [::]:*                              4547/memcached

В конфигах memcached_server1.conf и memcached_server2.conf менял порты на любые произвольные, делаю рестарт, а всё равно memcached висит на 11211.

Подскажите как сделать чтобы memcached слушал два порта?



Последнее исправление: cetjs2 (всего исправлений: 1)

В debian 8 по умолчанию запуском рулит systemd, эти скрипты оставлены для совместимости с sysv-init и если systemd установлен, то они просто перекидывают команды на systemctl ( если интересны подробности, см. /lib/lsb/init-functions.d/40-systemd ).

NeOlip ★★
()
Ответ на: комментарий от vagon

Да не особо.

Создайте файлик /etc/systemd/system/memcached@.service с таким содержанием:

[Unit]
Description=memcached-%i daemon
After=network.target

[Service]
ExecStart=/usr/share/memcached/scripts/systemd-memcached-wrapper /etc/memcached-%i.conf

[Install]
WantedBy=multi-user.target

Скопируйте конфиг memcache в /etc/memcache-1.conf

Потом

# systemctl daemon-reload
# systemctl enable memcached@1
# systemctl start memcached@1

NeOlip ★★
()
Последнее исправление: NeOlip (всего исправлений: 2)
Ответ на: комментарий от vagon

Проверьте созданный вами юнит. Похоже вы что-то потеряли при копировании. Наиболее вероятно, что «[» в первой строчке.

NeOlip ★★
()
Ответ на: комментарий от NeOlip

Именно так не скопировал «[», вот что получилось в итоге

Заменил в файлике /etc/systemd/system/memcached@.service /etc/memcached-%i.conf на /etc/memcache-%i.conf, при рестарте ругалось на что то, помогло.

# netstat -lp |grep mem
tcp        0      0 *:11211                 *:*                     LISTEN      6124/memcached  
tcp        0      0 localhost:11215         *:*                     LISTEN      6048/memcached  
tcp6       0      0 [::]:11211              [::]:*                  LISTEN      6124/memcached  
udp        0      0 *:11211                 *:*                                 6124/memcached  
udp        0      0 localhost:11215         *:*                                 6048/memcached  
udp6       0      0 [::]:11211              [::]:*                              6124/memcached 

Правильно ли я понял что /etc/init.d/memcached отвечает за один порт, а systemctl status memcached@1 за другой?

vagon
() автор топика
Ответ на: комментарий от vagon

Правильно ли я понял что /etc/init.d/memcached отвечает за один порт, а systemctl status memcached@1 за другой?

Да, сейчас у вас именно так.

Возможно будет лучше отключить юнит, идущий в дистрибутиве

# systemctl stop memcached
# systemctl disable memcached

и использовать созданный memcache@ (соответственно создав конфиги)

Строка после «@» будет подставляться в имя конфига

memcache@1 - /etc/memcache-1.conf
memcache@session - /etc/memcache-session.conf
и т. д. Соответственно имена можно задать более подходящие, чем безликое 1.

Так с ними можно будет взаимодействовать со всеми сразу, например

systemctl restart memcached@*
NeOlip ★★
()
Ответ на: комментарий от NeOlip

Юнит, идущий в дистрибутиве отключил.

Создал второй конфиг /etc/memcache-2.conf с нужным портом, всё работает.

Спасибо большое за помощь.

vagon
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.