AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1052285
Accepted
Paulo Coghi
Paulo Coghi
Asked: 2021-02-04 07:39:33 +0800 CST2021-02-04 07:39:33 +0800 CST 2021-02-04 07:39:33 +0800 CST

无法在 Ubuntu Server 20.04.2 上将 Redis 初始化为 systemd 服务(受监督的 systemd)

  • 772

supervised systemd在 Ubuntu Server 20.04 上,Redis (5.0.7) 设置为 on后不会启动/etc/redis/redis.conf,但使用 . 手动运行时不会打印错误/usr/bin/redis-server /etc/redis/redis.conf。

此外,当手动运行时,可能会发现它正在侦听 6379 端口netstat -tulpn。

重现

作为根:

  • 更新软件包并安装 Redisapt update && apt install redis-server
  • 上/etc/redis/redis.conf,将行更改supervised no为supervised systemd
  • 尝试使用service redis-server restartor重启 Redissystemctl 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.

尝试重新启动 Redis 服务时不会打印任何日志/var/log/redis/redis-server.log,但手动运行时会打印以下文本:

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 bits=64 build=636cde3b5c7a3923

Ubuntu 20.04.2 LTS - 64 位

系统 245 (245.4-4ubuntu3.4)

systemd ubuntu-20.04 redis systemd-service
  • 2 2 个回答
  • 6179 Views

2 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2021-02-04T08:57:58+08:002021-02-04T08:57:58+08:00

    这很奇怪,但是 Ubuntu 安装 redis-server并没有使用 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-server:

    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.
    
    • 3
  2. Константин Калуженин
    2022-02-08T23:45:59+08:002022-02-08T23:45:59+08:00

    使用 -sudo systemctl start redis.service第一次

    • 0

相关问题

  • SSH 会话在关机/重启时挂起

  • 我可以使用 systemd 重新启动依赖服务吗?

  • 让我的旧初始化脚本在 systemd 中工作的最简单方法是什么?

  • 在 CentOS 7 上为 systemd 启动的进程增加 nproc

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve