forked from pool/redis
Accepting request 633784 from home:darix:apps
- make check && true -> make check || true This was probably meant to catch an error in the test suite, but with && it would only return true if it would return true already. - added systemd unit file file redis-sentinel - the unit file uses the same multiple instance mechanism as the normal redis unit file systemctl start redis-sentinel@default will look for /etc/redis/sentinel-default.conf and expects a pid file /var/run/redis/sentinel-default.pid Please make sure your sentinel config sets the pid file. - adapted the default sentinel.conf.example to set the pid file and the log file similar to the normal redis.conf: /var/log/redis/sentinel-<instancename>.log /var/run/redis/sentinel-<instancename>.pid The unit file checks for the pid file so please adapt your local sentinel configs. Changed: redis-conf.patch - adapt and restructure README.SUSE - move the LimitNoFile to the service file itself so the user do not have to manually do that step for every instance - move the apache integration into its own section - add section for redis-sentinel - install sentinel example config with group write permissions to indicate that the actually config needs to be writable. OBS-URL: https://build.opensuse.org/request/show/633784 OBS-URL: https://build.opensuse.org/package/show/server:database/redis?expand=0&rev=120
This commit is contained in:
91
README.SUSE
91
README.SUSE
@@ -1,19 +1,79 @@
|
||||
README.SUSE
|
||||
-------------
|
||||
|
||||
1. copy /etc/redis/default.conf.example to /etc/redis/default.conf (or
|
||||
/etc/redis/otherapp.conf and so on) For the example we will use
|
||||
otherapp.conf
|
||||
Redis Server
|
||||
==============
|
||||
|
||||
1. cp -a /etc/redis/default.conf.example /etc/redis/instancename.conf
|
||||
|
||||
We use the "cp -a" here, so that our permissions are preserved.
|
||||
In case you copied the file with out the "-a"
|
||||
|
||||
chown root:redis /etc/redis/instancename.conf
|
||||
chmod u=rw,g=r,o= /etc/redis/instancename.conf
|
||||
|
||||
2. change at least pidfile, logfile and dir setting
|
||||
# the pid file *has* to match your config filename without the ".conf"
|
||||
pidfile /var/run/redis/otherapp.pid
|
||||
logfile /var/log/redis/otherapp.log
|
||||
dir /var/lib/redis/otherapp/
|
||||
|
||||
pidfile /var/run/redis/instancename.pid
|
||||
logfile /var/log/redis/instancename.log
|
||||
dir /var/lib/redis/instancename/
|
||||
|
||||
If you want to run more than one instance you also have to change the
|
||||
socket path and/or the ip:port combination.
|
||||
e.g. /var/run/redis/otherapp.sock
|
||||
e.g. /var/run/redis/instancename.sock
|
||||
|
||||
Also make sure if you copy configurations from somewhere, that "daemonize"
|
||||
should be set to "no".
|
||||
|
||||
3. create the database dir:
|
||||
$ install -d -o redis -g redis -m 0750 /var/lib/redis/instancename/
|
||||
|
||||
4. systemctl start redis@instancename
|
||||
5. systemctl enable redis@instancename
|
||||
|
||||
6. To stop/restart all instances at the same time use:
|
||||
|
||||
systemctl restart redis.target
|
||||
systemctl stop redis.target
|
||||
|
||||
Redis Sentinel
|
||||
================
|
||||
|
||||
1. cp -a /etc/redis/sentinel.conf.example /etc/redis/sentinel-instancename.conf
|
||||
|
||||
We use the "cp -a" here, so that our permissions are preserved.
|
||||
In case you copied the file with out the "-a"
|
||||
|
||||
chown root:redis /etc/redis/sentinel-instancename.conf
|
||||
chmod u=rw,g=rw,o= /etc/redis/sentinel-instancename.conf
|
||||
|
||||
Please note that the sentinel config needs write permissions for the group.
|
||||
The chmod line differs from the line for the normal redis server.
|
||||
|
||||
2. change at least pidfile, logfile setting
|
||||
# the pid file *has* to match your config filename without the ".conf"
|
||||
|
||||
pidfile /var/run/redis/instancename.pid
|
||||
logfile /var/log/redis/instancename.log
|
||||
|
||||
If you want to run more than one instance you also have to change the
|
||||
socket path and/or the ip:port combination.
|
||||
e.g. /var/run/redis/instancename.sock
|
||||
|
||||
Also make sure if you copy configurations from somewhere, that "daemonize"
|
||||
should be set to "no".
|
||||
|
||||
4. systemctl start redis-sentinel@instancename
|
||||
5. systemctl enable redis-sentinel@instancename
|
||||
|
||||
6. To stop/restart all instances at the same time use:
|
||||
|
||||
systemctl restart redis-sentinel.target
|
||||
systemctl stop redis-sentinel.target
|
||||
|
||||
Integration with apache when using unix domain sockets
|
||||
=========================================================
|
||||
|
||||
If you plan to use redis in combination with apache, then you should
|
||||
add 'redis' to apache group and set 'unixsocketperm 770':
|
||||
@@ -21,21 +81,4 @@ $ usermod -a -G redis wwwrun
|
||||
$ systemctl restart apache2
|
||||
then apache is able to connect to redis socket
|
||||
|
||||
Also make sure if you copy configurations from somewhere, that "daemonize"
|
||||
should be set to "no".
|
||||
|
||||
3a. create the database dir:
|
||||
$ install -d -o redis -g redis -m 0750 /var/lib/redis/otherapp/
|
||||
|
||||
3b. add limits (ulimit) to each service
|
||||
$ install -d -m 0755 /etc/systemd/system/redis@otherapp.service.d
|
||||
$ echo "[Service]
|
||||
LimitNOFILE=10240" > /etc/systemd/system/redis@otherapp.service.d/limits.conf
|
||||
|
||||
4. systemctl start redis@otherapp
|
||||
5. systemctl enable redis@otherapp
|
||||
|
||||
6. to interact with all instances at the same time use:
|
||||
|
||||
systemctl restart redis.target
|
||||
systemctl stop redis.target
|
||||
|
Reference in New Issue
Block a user