5
i have excuted c:\memcached>memcached -l 0.0.0.0:11211,0.0.0.0:11212
getaddrinfo(): No such host is known.
failed to listen on TCP port 11211: No error.
and that was the response i got
if i will execute c:\memcached>memcached -p 11211 -d
memcached: option requires an argument -- d
Illegal argument "?" this was the response i got. so i tried these following commands
c:\memcached>memcached -p 11211 -d start
c:\memcached>memcached -p 11212 -d start

しかし、それでも11212ではなくポート11211をリッスンしています.なぜですか?

4

1 に答える 1

18

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 を両方のサービスにも使用できるように変更する必要があることに注意してください。

sc 構成行に-u 11211andを追加します。-u 11212

個々の memcached サービスを停止するには、次を使用します。

sc stop memcached11211
sc stop memcached11212

サービスを削除するには、次のようにします。

sc delete memcached11211
sc delete memcached11212

ただし、別のポートで試しているだけの場合は、複数のcmdウィンドウを使用してそのように実行してください。

于 2013-08-14T09:47:16.193 に答える