Невозможно инициализировать Redis как службу systemd (контролируемую systemd) на сервере Ubuntu 20.04.2.

На сервере Ubuntu 20.04 Redis (5.0.7) не запускается после включения , но при запуске вручную с помощью/usr/bin/redis-server /etc/redis/redis.conf.

Кроме того, при запуске вручную можно обнаружить, что он прослушивает порт 6379 с помощьюnetstat -tulpn.

Воспроизводить

Как root:

  • Обновите пакеты и установите Redis с помощьюapt update && apt install redis-server
  • На/etc/redis/redis.conf, измените строку наsupervised noкsupervised systemd
  • Попробуйте перезапустить Redis с помощьюservice redis-server restartилиsystemctl restart redis

Вывод приведенной выше команды:

      Job for redis-server.service failed because the control process exited with error code.
See "systemctl status redis-server.service" and "journalctl -xe" for details.

И выводsystemctl status redis-server.serviceявляется:

      ● redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2021-02-03 12:15:56 -03; 28s ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
    Process: 3851 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=1/FAILURE)

Feb 03 12:15:56 mywebsite.com systemd[1]: redis-server.service: Scheduled restart job, restart counter is at 5.
Feb 03 12:15:56 mywebsite.com systemd[1]: Stopped Advanced key-value store.
Feb 03 12:15:56 mywebsite.com systemd[1]: redis-server.service: Start request repeated too quickly.
Feb 03 12:15:56 mywebsite.com systemd[1]: redis-server.service: Failed with result 'exit-code'.
Feb 03 12:15:56 mywebsite.com systemd[1]: Failed to start Advanced key-value store.

Журнал не печатается/var/log/redis/redis-server.logпри попытке перезапустить службу Redis, но текст ниже печатается при запуске вручную:

      4231:C 03 Feb 2021 12:27:52.053 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
4231:C 03 Feb 2021 12:27:52.053 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=4231, just started
4231:C 03 Feb 2021 12:27:52.053 # Configuration loaded
4232:M 03 Feb 2021 12:27:52.063 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 5.0.7 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 4232
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

4232:M 03 Feb 2021 12:27:52.065 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
4232:M 03 Feb 2021 12:27:52.065 # Server initialized
4232:M 03 Feb 2021 12:27:52.066 * Ready to accept connections

Версии программного обеспечения:

Сервер Redis v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 бит=64 build=636cde3b5c7a3923

Ubuntu 20.04.2 LTS — 64-битная версия

системный 245 (245.4-4ubuntu3.4)

2 ответа

Это довольно странно, но установка redis-сервера в Ubuntu не использует возможности Redis для связи с systemd. На этой платформе вам следует оставить redis.conf в том виде, в котором он был отправлен:supervised no.


Если по какой-то причине вы действительно хотите включить это, вам придется настроить модуль systemd, например:

      ubuntu@vmtest-ubuntu2004:~$ sudo systemctl edit redis-server.service

В nano следует добавить только это:

      [Service]
Type=notify

Затем сообщите systemd загрузить изменения.

      ubuntu@vmtest-ubuntu2004:~$ sudo systemctl daemon-reload

Теперь вам нужно отредактировать redis.conf:

      ubuntu@vmtest-ubuntu2004:~$ sudo nano /etc/redis/redis.conf

И внесите эти изменения:

      daemonize no
supervised systemd

Теперь вы можете перезапустить redis-сервер:

      ubuntu@vmtest-ubuntu2004:~$ sudo systemctl start redis-server
ubuntu@vmtest-ubuntu2004:~$ sudo systemctl status redis-server
* redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/redis-server.service.d
             `-override.conf
     Active: active (running) since Wed 2021-02-03 11:55:09 EST; 1min 8s ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
   Main PID: 1768 (redis-server)
      Tasks: 4 (limit: 2318)
     Memory: 1.8M
     CGroup: /system.slice/redis-server.service
             `-1768 /usr/bin/redis-server 127.0.0.1:6379

Feb 03 11:55:09 vmtest-ubuntu2004 systemd[1]: Starting Advanced key-value store...
Feb 03 11:55:09 vmtest-ubuntu2004 systemd[1]: Started Advanced key-value store.

использовать -sudo systemctl start redis.serviceв первый раз

Другие вопросы по тегам