나는 memcached.conf
다음을 가지고 있습니다 :
# -l 127.0.0.1
# -p 11211
내 의도는 유닉스 소켓 이외의 다른 것을 통해 서비스를 사용하지 않기 때문에 모든 TCP 또는 UDP 바인딩을 비활성화하는 것입니다.
이 구성으로 내가 원하는 효과를 얻을 수 있나요?
답변1
memcached 버전에 따라 다릅니다. -l 127.0.0.1 -p 12111
유일한 옵션으로 memcached는 TCP 및 UDP 포트 11211(단, 127.0.0.1만 수신)을 수신합니다.
이는 TCP 또는 UDP 바인딩을 비활성화하고 시스템의 모든 사용자가 사용할 수 있는 권한을 설정하는 가장 일반적인 방법입니다. 특정 사용자만 소켓에 액세스할 수 있도록 하려면 후자를 다른 방법으로 미세 조정할 수 있습니다.
-s /tmp/memcached.sock
-a 666
1인당 memcached(1) ...
-a <perms>
Permissions (in octal format) for Unix socket created with -s option.
-s <file>
Unix socket path to listen on (disables network support).
...다른 모든 옵션에 관계없이 -s
지정된 경우 모든 네트워크 지원(TCP 및 UDP)이 비활성화되고 인터페이스에 바인딩되지 않습니다. 사양은 -l 127.0.0.1 ... -s /tmp/memcached.sock
이러한 옵션을 허용하더라도 약간 오해의 소지가 있습니다 .
memcached 네트워크 지원을 비활성화하는 또 다른 방법은 포트 0에서 수신하도록 지시하는 것입니다.
-p <num>
Listen on TCP port <num>, the default is port 11211.
-U <num>
Listen on UDP port <num>, the default is port 11211, 0 is off.
최신 버전에서는 -U의 기본값은 0(끄기)입니다.
한편, 매뉴얼 페이지에는 명시적으로 언급되어 있지 않지만 -p 0
예를 들어 TCP를 비활성화하는 것도 -l 127.0.0.1 -p 0 -U 0
작동할 수 있지만 소켓 경로가 지정되지 않으면 실제로 작동하지 않기 때문에 의미가 없습니다.