memcached для Windows не будет прослушивать несколько портов с одним и тем же экземпляром, вам понадобится несколько экземпляров службы, чтобы заставить ее работать как служба на разных портах.
Для этого вам потребуется использовать другой механизм для установки службы, а не механизм memcached -d install
.
Для достижения этой цели мы можем использовать sc
. Все эти команды должны выполняться из командной строки с повышенными правами.
sc create "Memcached11211" binPath= "C:\memcached\memcached.exe -d runservice -p 11211" DisplayName= "Memcached11211" start= auto
sc create "Memcached11212" binPath= "C:\memcached\memcached.exe -d runservice -p 11212" DisplayName= "Memcached11212" start= auto
Тогда мы начинаем их:
C:\memcached>sc start Memcached11211
SERVICE_NAME: Memcached11211
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 5412
FLAGS :
C:\memcached>sc start Memcached11212
SERVICE_NAME: Memcached11212
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 7976
FLAGS :
C:\memcached>netstat -an | grep 112
File STDIN:
TCP 0.0.0.0:11211 0.0.0.0:0 LISTENING
TCP 0.0.0.0:11212 0.0.0.0:0 LISTENING
TCP [::]:11211 [::]:0 LISTENING
TCP [::]:11212 [::]:0 LISTENING
UDP 0.0.0.0:11211 *:*
UDP 0.0.0.0:11211 *:*
UDP [::]:11211 *:*
UDP [::]:11211 *:*�
Однако обратите внимание, что, как сконфигурировано, порт UDP еще 11211, так что нужно будет изменить, чтобы гарантировать, что ПДП может также использоваться как для Сервисы.
Вы должны добавить -u 11211
и -u 11212
в строки конфигурации sc.
Чтобы остановить и индивидуальное обслуживание Memcached вы будете использовать:
sc stop memcached11211
sc stop memcached11212
удалить службы делают:
sc delete memcached11211
sc delete memcached11212
Если же вы просто пытаетесь его на разных портах, то просто использовать несколько cmd
окна и запустить его таким образом.
опция '-d' на окнах управляет службой стиля Windows - она полностью отличается от опции -d на linux. Когда вы запускаете '-d start', он запускает службу Windows и ** полностью игнорирует ** опцию -p. Если вы хотите протестировать его на нескольких портах, откройте два cmd-окна и запустите их отдельно в каждом ** без ** опции -d – Petesh