Estou executando um servidor web Debian Squeeze. Instalei o memcached nele e configurei o memcached para escutar em um soquete de domínio Unix (at /tmp/memcached.sock
), pois ele só precisa receber mensagens do site, que mora no mesmo servidor.
Parece estar funcionando bem, mas eu também gostaria de me comunicar com o memcached por meio do shell, para verificar se está fazendo o que acho que está fazendo.
O memcached aceita mensagens através de um protocolo ASCII simples (se bem entendi). Se estivesse ouvindo no TCP / IP, eu poderia enviar mensagens para ele via, por exemplo nc
:
$ echo "stats settings" | nc localhost 11211
Mas não consigo descobrir como enviar esse texto para o soquete do domínio.
No meu laptop (que roda o OS X Lion), ambos nc
e telnet
tem opções ( -U
e -u
respectivamente) para usar soquetes de domínio. No entanto, no meu servidor Debian Squeeze, essas opções não estão presentes.
/var/run/socket
? Existe uma maneira de reutilizar um arquivo existente?-l
), ele criará o arquivo. Caso contrário, espera que o soquete já exista (e já tenha algo escutando). Portanto, o comando de exemplo na resposta não cria o arquivo.Com
socat
(um 'relé de dados bidirecional entre dois canais de dados'), você pode conectar-se ao soquete do domínio unix assim:fonte
netcat-openbsd
suporta conexão com soquetes de domínio UNIX. Usando isso, você pode conectar-se a um soquete de fluxo do domínio UNIX ou a um soquete de datagrama do domínio UNIX e, portanto, é necessário informar o tipo do soquete ao netcat.por exemplo, o
/dev/log
arquivo no Linux é um soquete de datagrama do domínio UNIX e , portantonc -U /dev/log
, não funciona . Em vez disso, usenc -uU /dev/log
. Usar -u junto com -U informa ao netcat que é um soquete de datagrama no domínio UNIX.Da mesma forma, enquanto estiver usando
socat
, use a opção UNIX-CLIENT. Usando esta opção, você pode conectar-se aos soquetes de fluxo de domínio e de datagrama do domínio UNIX . Na sua página de manual (man socat) , " Ele primeiro tenta se conectar e, se isso falhar, assume que é um soquete de datagrama, suportando, assim, os dois tipos ".fonte
Você pode usar o socat no Debian. Para instalá-lo:
fonte
socat
instalado no meu servidor, mas é certamente disponíveis: packages.debian.org/squeeze/socat