How to use Redis in a UNIX Socket

Please use root privilege to execute the following instructions. If Redis fails to start, please verify SELinux is disabled , and all mentioned directories and files have correct permissions to the designated user.

for Centos 7.X

  1. Stop Redis.
    systemctl stop redis
  2. Copy the service file.
    cp /usr/lib/systemd/system/redis.service /etc/systemd/system/redis.service
  3. Edit /etc/systemd/system/redis.service.
    User=username
    Group=username

    Change username to same user that runs PHP.

  4. Edit /etc/redis.conf and change the following:
    unixsocket /path/to/redis.sock
    unixsocketperm 770
    logfile /path/to/redis.log
    dir /path/to/redis

    Change port to 0 if TCP socket is no longer needed.

  5. Change owner of redis.conf to same username in step 3.
    chown username:group /etc/redis.conf

    If /path/to/redis directory does not exist, please manually create it, and make sure above mentioned socket path, log pathand dir path and are writable by the designated user.

  6. Start Redis.
    systemctl start redis
  7. Verify it started successfully.
    systemctl status redis
  8. Check whether everything is working well.
    nc -U /path/to/redis.sock
    info