用于 Windows 的 memcached 不会侦听具有相同实例的多个端口,您将需要该服务的多个实例才能使其在不同端口上作为服务运行。
为此,您将需要使用不同的机制来安装服务,而不是使用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,因此需要对其进行更改以确保 udp 也可以用于两种服务。
您可以将-u 11211
and添加-u 11212
到 sc 配置行。
要停止和单独的 memcached 服务,您将使用:
sc stop memcached11211
sc stop memcached11212
要删除服务,请执行以下操作:
sc delete memcached11211
sc delete memcached11212
但是,如果您只是在不同的端口上尝试它,那么只需使用多个cmd
窗口并以这种方式运行它。