Estou tentando fazer com que o redis seja executado como um serviço em um servidor CentOS 6, mas não consigo fazer o script de inicialização funcionar corretamente.
o script de inicialização distribuído com redis não suporta chkconfig, então encontrei outro no github emhttps://gist.github.com/tahajahangir/155176867afed0ff80adno entanto, linhas 36 e 37:
chown ${REDIS_USER-redis}:${REDIS_USER-redis} /var/run/redis
daemon --user ${REDIS_USER-redis} "$redis $REDIS_CONF_FILE $REDIS_OPTIONS"
dá erros quando executo service redis-server start
. Resolvi o primeiro erro sobre nome de usuário incorreto redis
alterando a linha 36 para
chown root:root /var/run/redis
mas ainda tenho o erro restante:
/usr/bin/dirname: extra operand `.pid'
Try `/usr/bin/dirname --help' for more information.
Eu tentei várias coisas, mas não tenho certeza de onde .pid
vem esse "extra". Como posso resolver isto?
Responder1
No último comentário da página que você postou deve estar a solução para o seu problema. Você tem que alterar a linha 37 para:
daemon --user ${REDIS_USER-redis} --pidfile ${pidfile} "$redis $REDIS_CONF_FILE $REDIS_OPTIONS"
Responder2
Você deve considerar o uso de uma versão empacotada do redis, que funcionará assim que você instalá-lo. Para CentOS 6, EPEL possui redis 2.4.10. Você também pode obter as versões 2.8 e 3.0 mais recentes do redis noProjeto IUS.