How to Use memcached on different port

前端 未结 1 448
广开言路
广开言路 2020-12-16 08:03
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         


        
相关标签:
1条回答
  • memcached for windows will not listen on multiple ports with the same instance, you will need multiple instances of the service to get it to run as a service on different ports.

    To accomplish this, you will need to use a different mechanism for installing the service, rather than the memcached -d install mechanism.

    We can use sc to accomplish this. All these commands will need to be run from an elevated command prompt.

    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
    

    Then we start them:

    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             *:*�
    

    Note however that as configured, the udp port is still 11211, so it would need to be changed to ensure that udp can be used as well for both services.

    You would add a -u 11211 and -u 11212 to the sc configuration lines.

    To stop and individual memcached service you would use:

    sc stop memcached11211
    sc stop memcached11212
    

    to remove the services do:

    sc delete memcached11211
    sc delete memcached11212
    

    If however you're just trying it out on different ports then just use multiple cmd windows and run it that way.

    0 讨论(0)
提交回复
热议问题