redis服务器没有创建socket文件

redis服务器没有创建socket文件

我正在尝试使用本教程在我的 apache2 服务器上安装 gitlab:http://blog.florentlim.com/how-to-install-gitlab-on-debian-7-wheezy-on-apache2-http-server/ 一切似乎都进展顺利,我完成了每一步,没有任何大问题。

但是现在当我尝试连接我的 gitlab 页面时,它会显示“错误 500 页面”。查看我的 gilab production.log ,看起来 gilab 无法连接到 /var/run/redis/redis.socket 文件,果然,没有这样的文件。我不知道为什么...我验证了我的 /etc/redis/redis.conf 文件,TCP 端口设置为 0,并且我得到了以下行

unixsocket /var/run/redis/redis.sock
unixsocketperm 770

那么为什么 redis 拒绝创建我的套接字?

任何帮助都将不胜感激。谢谢

答案1

我遇到了类似的问题,但是在 Arch Linux 的衍生产品上。

必须为 OpenVAS 安装 Redis,并且在尝试启动服务后出现权限错误,如下所示:

systemctl start redis.service

使用以下方法可以看到错误:

journalctl -xeu redis.service

按照systemctl命令输出的建议。

/run当它尝试在(也链接自)中创建 Unix 套接字时,/var/run它会失败,因为它无法创建文件。我可以手动在使用下创建一个redis子目录,并将所有者更改为用户,然后启动,但该目录后来一直消失。/runsudoredisredis

我尝试使用 pacman 重新安装,因为我有点迷茫,但这似乎没有帮助。


我的解决方案

跑步后

sudo systemctl enable redis.service

我可以启动该服务,并且/run/redis(也链接为/var/run/redis)存在 PID 和 Unix 套接字文件,如unixsocket我的配置文件中的条目配置的那样。

我可以确认它可以通过以下方式访问:

redis-cli -s /run/redis/redis.sock

重启后它仍然很好。

相关内容