# Nextcloud mit Redis als Unix socket geht nicht

**URL:** <https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602>\
**Category:** Uncategorized\
**Tags:** nextcloud\
**Created:** [7. Juni 2020 um 16:02 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602 "2020-06-07T16:02:30Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![crazy-to-bike](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/crazy-to-bike/32/6213_2.png) [@crazy-to-bike](https://ask.linuxmuster.net/u/crazy-to-bike)\
**Post date:** [7. Juni 2020 um 16:02 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602/1 "2020-06-07T16:02:30Z")

</div>

Hallo,

es wird ja empfohlen, Redis als Unix socket zu nutzen, wenn alles auf dem selben Server läuft. Das klappt bei mir nicht. Wenn ich es über tcp konfiguriere geht’s.

Für die Nutzung als Unix socket steht in der /etc/redis/redis.conf

> port 0  
> unixsocket /var/run/redis/redis-server.sock  
> unixsocketperm 770

Redis wurde neu gestartet und die `/var/run/redis/redis.sock` existiert.

Wenn ich in der config.php von Nextcloud aber versuche, den Socket zu nutzen wie in der NC-Doku beschrieben:

> ‚memcache.local‘ =\> ‚\OC\Memcache\APCu‘,  
> ‚memcache.distributed‘ =\> ‚\OC\Memcache\Redis‘,  
> ‚redis‘ =\> [  
> ‚host‘ =\> ‚/var/run/redis/redis.sock‘,  
> ‚port‘ =\> 0,  
> ],

bekomme ich

> Internal Server Error
> 
> The server encountered an internal error and was unable to complete your request.  
> Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.  
> More details can be found in the server log.

Im Serverlog (/var/log/apache2/error.log) finde ich dann

> PHP Warning: Redis::connect(): connect() failed: No such file or directory in /var/www/madita/web/lib/private/RedisFactory.php on line 92

und `service redis-server status`

> ● redis-server.service - Advanced key-value store  
> Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)  
> Active: active (running) since Sun 2020-06-07 17:37:52 CEST; 11min ago  
> Docs: [https://redis.io/docs/](http://redis.io/documentation),  
> man:redis-server(1)  
> Process: 13008 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)  
> Process: 13012 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)  
> Main PID: 13032 (redis-server)  
> Tasks: 4 (limit: 4915)  
> CGroup: /system.slice/redis-server.service  
> └─13032 /usr/bin/redis-server 127.0.0.1:0
> 
> Jun 07 17:37:52 afs-webserver systemd[1]: Starting Advanced key-value store…  
> Jun 07 17:37:52 afs-webserver systemd[1]: redis-server.service: Can’t open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory  
> Jun 07 17:37:52 afs-webserver systemd[1]: Started Advanced key-value store.

Momentan komme ich dem Fehler einfach nicht auf die Schliche.

Funktioniert das bei euch mit dem Unix socket oder nutzt ihr alle die tcp-Variante?

Viele Grüße  
Steffen

---

<div class="post-metadata">

**Author:** ![Tobias](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/tobias/32/85_2.png) [@Tobias](https://ask.linuxmuster.net/u/Tobias)\
**Post date:** [7. Juni 2020 um 17:00 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602/2 "2020-06-07T17:00:36Z")

</div>

Auch hier: schau mal in the fred nach [Nextcloud / php (fpm) tuning](https://ask.linuxmuster.net/t/nextcloud-php-fpm-tuning/5159) Ich glaube, dort habe ich dokumentiert, was ich für redis als unix socket gemacht habe…  
Vg, Tobias

---

<div class="post-metadata">

**Author:** ![crazy-to-bike](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/crazy-to-bike/32/6213_2.png) [@crazy-to-bike](https://ask.linuxmuster.net/u/crazy-to-bike)\
**Post date:** [7. Juni 2020 um 17:21 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602/3 "2020-06-07T17:21:57Z")

</div>

Hallo Tobias,

> [@Tobias](#):
>
> Auch hier: schau mal in the fred nach [Nextcloud / php (fpm) tuning](https://ask.linuxmuster.net/t/nextcloud-php-fpm-tuning/5159) Ich glaube, dort habe ich dokumentiert, was ich für redis als unix socket gemacht habe…

leider nein, von der Redis Config ist da leider nicht die Rede. Aber verstehe ich dich richtig: Du hast Redis in der NC auch als Unix socket konfiguriert?

Viele Grüße  
Steffen

---

<div class="post-metadata">

**Author:** ![Tobias](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/tobias/32/85_2.png) [@Tobias](https://ask.linuxmuster.net/u/Tobias)\
**Post date:** [7. Juni 2020 um 17:31 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602/4 "2020-06-07T17:31:57Z")

</div>

Du hast recht, ich finde es dort auch nicht, also hier meine Redis und nextcloud config dazu:

```auto
root@nextcloud:/etc/redis# egrep -v '^#|^$' redis.conf | head -15
bind 127.0.0.1 ::1
protected-mode yes
port 0
tcp-backlog 511
unixsocket /run/redis/redis.sock
unixsocketperm 770 
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis/redis-server.pid
loglevel notice
logfile /var/log/redis/redis-server.log
databases 16
always-show-logo yes

```

und nextcloud:

```auto
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => true,
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => '/run/redis/redis.sock',
    'port' => 0,
    'timeout' => 1.5,
  ),
```

außerdem: gehört „www-data“ der Gruppe „redis“ an!!!

VG, Tobias

---

<div class="post-metadata">

**Author:** ![Tobias](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/tobias/32/85_2.png) [@Tobias](https://ask.linuxmuster.net/u/Tobias)\
**Post date:** [7. Juni 2020 um 17:33 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602/5 "2020-06-07T17:33:16Z")

</div>

unsinnigerweise sollte bei mir die PIDFILE eigentlich auch noch nach „/run/redis/redis-server.pid“. Aber vllt. kannst du auch einfach alles unter „/var/run“ belassen, weil das eh verlinkt wird.

VG, tobias

---

<div class="post-metadata">

**Author:** ![crazy-to-bike](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/crazy-to-bike/32/6213_2.png) [@crazy-to-bike](https://ask.linuxmuster.net/u/crazy-to-bike)\
**Post date:** [7. Juni 2020 um 17:36 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602/6 "2020-06-07T17:36:59Z")

</div>

Hallo Tobias,

danke, schaue ich mir morgen an.

Viele Grüße  
Steffen

---

<div class="post-metadata">

**Author:** ![crazy-to-bike](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/crazy-to-bike/32/6213_2.png) [@crazy-to-bike](https://ask.linuxmuster.net/u/crazy-to-bike)\
**Post date:** [9. Juni 2020 um 08:37 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602/7 "2020-06-09T08:37:35Z")

</div>

Hallo Tobias,

leider funktioniert das bei mir mit deinen Einstellungen noch immer nicht. Gleiches Problem.

Nach dem Restart von Redis steht im Redis-Log in /var/log/redis/redis-server.log:

> 3271:M 09 Jun 10:28:41.041 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.  
> 3271:M 09 Jun 10:28:41.041 # Server initialized  
> 3271:M 09 Jun 10:28:41.041 # WARNING overcommit\_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‚vm.overcommit\_memory = 1‘ to /etc/sysctl.conf and then reboot or r$  
> 3271:M 09 Jun 10:28:41.041 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo ne$  
> 3271:M 09 Jun 10:28:41.043 \* DB loaded from disk: 0.002 seconds  
> 3271:M 09 Jun 10:28:41.043 \* The server is now ready to accept connections at /run/redis/redis-server.sock

Die letzte Meldung klingt trotz der Warnings vielversprechend, aber NC bringt wie oben geschrieben den Internal Server Error.

Meinst du, die Warnings sind das Problem? Kannst du mal bitte schauen, was das Log bei Restart bei dir meldet?

Wo kann ich noch suchen, warum das über Unix Socket bei mir nicht klappt?

Viele Grüße  
Steffen

---

<div class="post-metadata">

**Author:** ![crazy-to-bike](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/crazy-to-bike/32/6213_2.png) [@crazy-to-bike](https://ask.linuxmuster.net/u/crazy-to-bike)\
**Post date:** [9. Juni 2020 um 08:51 UTC](https://ask.linuxmuster.net/t/nextcloud-mit-redis-als-unix-socket-geht-nicht/5602/8 "2020-06-09T08:51:51Z")

</div>

Hallo,

das Problem ist gelöst. In der redis.conf war der Name der Socket Datei redis-server.sock (habe ich nur einkommentiert), in der config.php von NC nur redis.sock wie in der NC Doku angegeben (siehe auch meine gepostete Config oben).

Unglaublich - immer diese Tomaten auf den Augen 😃

Viele Grüße  
Steffen
