mirror of
https://github.com/fluencelabs/redis
synced 2025-06-23 14:01:34 +00:00
Merge pull request #6052 from jtru/better-systemd-integration-v2
Better systemd integration v2
This commit is contained in:
@ -73,6 +73,16 @@ if [ "$(id -u)" -ne 0 ] ; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#bail if this system is managed by systemd
|
||||
_pid_1_exe="$(readlink -f /proc/1/exe)"
|
||||
if [ "${_pid_1_exe##*/}" = systemd ]
|
||||
then
|
||||
echo "This systems seems to use systemd."
|
||||
echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
|
||||
exit 1
|
||||
fi
|
||||
unset _pid_1_exe
|
||||
|
||||
if ! echo $REDIS_PORT | egrep -q '^[0-9]+$' ; then
|
||||
_MANUAL_EXECUTION=true
|
||||
#Read the redis port
|
||||
|
37
utils/systemd-redis_multiple_servers@.service
Normal file
37
utils/systemd-redis_multiple_servers@.service
Normal file
@ -0,0 +1,37 @@
|
||||
# example systemd template service unit file for multiple redis-servers
|
||||
#
|
||||
# You can use this file as a blueprint for your actual template service unit
|
||||
# file, if you intend to run multiple independent redis-server instances in
|
||||
# parallel using systemd's "template unit files" feature. If you do, you will
|
||||
# want to choose a better basename for your service unit by renaming this file
|
||||
# when copying it.
|
||||
#
|
||||
# Please take a look at the provided "systemd-redis_server.service" example
|
||||
# service unit file, too, if you choose to use this approach at managing
|
||||
# multiple redis-server instances via systemd.
|
||||
|
||||
[Unit]
|
||||
Description=Redis data structure server - instance %i
|
||||
Documentation=https://redis.io/documentation
|
||||
# This template unit assumes your redis-server configuration file(s)
|
||||
# to live at /etc/redis/redis_server_<INSTANCE_NAME>.conf
|
||||
AssertPathExists=/etc/redis/redis_server_%i.conf
|
||||
#Before=your_application.service another_example_application.service
|
||||
#AssertPathExists=/var/lib/redis
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/redis-server /etc/redis/redis_server_%i.conf
|
||||
LimitNOFILE=10032
|
||||
NoNewPrivileges=yes
|
||||
#OOMScoreAdjust=-900
|
||||
#PrivateTmp=yes
|
||||
Type=notify
|
||||
TimeoutStartSec=infinity
|
||||
TimeoutStopSec=infinity
|
||||
UMask=0077
|
||||
#User=redis
|
||||
#Group=redis
|
||||
#WorkingDirectory=/var/lib/redis
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
41
utils/systemd-redis_server.service
Normal file
41
utils/systemd-redis_server.service
Normal file
@ -0,0 +1,41 @@
|
||||
# example systemd service unit file for redis-server
|
||||
#
|
||||
# In order to use this as a template for providing a redis service in your
|
||||
# environment, _at the very least_ make sure to adapt the redis configuration
|
||||
# file you intend to use as needed (make sure to set "supervised systemd"), and
|
||||
# to set sane TimeoutStartSec and TimeoutStopSec property values in the unit's
|
||||
# "[Service]" section to fit your needs.
|
||||
#
|
||||
# Some properties, such as User= and Group=, are highly desirable for virtually
|
||||
# all deployments of redis, but cannot be provided in a manner that fits all
|
||||
# expectable environments. Some of these properties have been commented out in
|
||||
# this example service unit file, but you are highly encouraged to set them to
|
||||
# fit your needs.
|
||||
#
|
||||
# Please refer to systemd.unit(5), systemd.service(5), and systemd.exec(5) for
|
||||
# more information.
|
||||
|
||||
[Unit]
|
||||
Description=Redis data structure server
|
||||
Documentation=https://redis.io/documentation
|
||||
#Before=your_application.service another_example_application.service
|
||||
#AssertPathExists=/var/lib/redis
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/redis-server --supervised systemd --daemonize no
|
||||
## Alternatively, have redis-server load a configuration file:
|
||||
#ExecStart=/usr/local/bin/redis-server /path/to/your/redis.conf
|
||||
LimitNOFILE=10032
|
||||
NoNewPrivileges=yes
|
||||
#OOMScoreAdjust=-900
|
||||
#PrivateTmp=yes
|
||||
Type=notify
|
||||
TimeoutStartSec=infinity
|
||||
TimeoutStopSec=infinity
|
||||
UMask=0077
|
||||
#User=redis
|
||||
#Group=redis
|
||||
#WorkingDirectory=/var/lib/redis
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Reference in New Issue
Block a user