Мой сервер memcache запущен и работает на Сервер А.
service memcached start
memcached -d -u nobody -m 512 -p 11211 127.0.0.1
chkconfig --list | grep memcache
chkconfig memcached on
У меня также есть веб-приложение на Сервер B (другой IP). Как мне настроить Сервер А для memcache, чтобы разрешить входящие соединения от Сервер B?
По умолчанию memcached обслуживает только локальный хост, поскольку в противном случае он не имеет защиты от более широкой сети / Интернета и небезопасен. Как вы видите в опубликованных вами выходных данных, в настоящее время он обслуживает только соединения с номером 127.0.0.1:
memcached -d -u nobody -m 512 -p 11211 127.0.0.1
Итак, вам нужно отредактировать файл конфигурации и указать ему IP-адрес сетевого интерфейса, который вы хотите обслуживать. Для этого перейдите в каталог, в котором находится файл конфигурации. В ubuntu это:
cd /etc/
Затем откройте файл конфигурации в любом редакторе:
sudo nano memcached.conf
Затем прокрутите вниз, пока не найдете это:
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1
Теперь просто замените 127.0.0.1
с IP-адресом вашего сетевого интерфейса и сохраните.
Теперь вам нужно перезапустить сервер memcached:
sudo service memcached restart
Memcached теперь будет обслуживать только запросы, полученные через этот IP / сетевой интерфейс. Вы можете проверить это с помощью следующей команды:
ps aux | grep memcached
Если все прошло нормально, вы должны увидеть IP, который вы указали в конфигурации, а не localhost.