Home  >  Q&A  >  body text

为什么有的时候开机,redis没有自动起来呢?

不常见,但有的时候开机redis没有自个启动,不知道如何查找原因,请高人指点

$ redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused

我看了下日至,如下

[207] 29 Sep 18:22:41.020 * 1 changes in 900 seconds. Saving...
[207] 29 Sep 18:22:41.099 * Background saving started by pid 2473
[2473] 29 Sep 18:22:41.685 * DB saved on disk
[207] 29 Sep 18:22:42.014 * Background saving terminated with success
[207 | signal handler] (1380450274) Received SIGTERM, scheduling shutdown...
[207] 29 Sep 18:24:34.759 # User requested shutdown...
[207 | signal handler] (1380450274) Received SIGTERM, scheduling shutdown...
[207] 29 Sep 18:24:34.899 * Saving the final RDB snapshot before exiting.
[207] 29 Sep 18:24:35.050 * DB saved on disk
[207] 29 Sep 18:24:35.050 * Removing the pid file.
[207] 29 Sep 18:24:35.150 # Redis is now ready to exit, bye bye...
[620] 29 Sep 21:50:35.953 * Max number of open files set to 10032
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 2.6.14 (00000000/0) 64 bit
  .-`` .-".  "\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in stand alone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 620
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

[620] 29 Sep 21:50:35.971 # Server started, Redis version 2.6.14
[620] 29 Sep 21:50:35.984 * DB loaded from disk: 0.013 seconds
[620] 29 Sep 21:50:35.984 * The server is now ready to accept connections on port 6379

好像也没有异常,上面提到的

[207] 29 Sep 18:24:35.050 * Removing the pid file.

因该是我关机的缘故,pid删除了,一般的情况下,开机会自动启动pid的,但是这次没有,上面启动界面是我最有一次手动启动的log信息

伊谢尔伦伊谢尔伦2759 days ago704

reply all(1)I'll reply

  • PHP中文网

    PHP中文网2017-04-21 11:17:41

    Redis will register a signal processing function for the signal SIGTERM when it starts. This function will let redis do some resource cleanup work before ending the operation, such as saving RDB files, deleting PID files (if redis is running in daemon mode), etc. Wait, when all these tasks are completed, call the exit function to exit

    So the content of this log:

    [207 | signal handler] (1380450274) Received SIGTERM, scheduling shutdown...
    [207] 29 Sep 18:24:34.759 # User requested shutdown...
    [207 | signal handler] (1380450274) Received SIGTERM, scheduling shutdown...
    [207] 29 Sep 18:24:34.899 * Saving the final RDB snapshot before exiting.
    [207] 29 Sep 18:24:35.050 * DB saved on disk
    [207] 29 Sep 18:24:35.050 * Removing the pid file.
    [207] 29 Sep 18:24:35.150 # Redis is now ready to exit, bye bye.
    

    All are in line with the process I mentioned above. Receive SIGTERM signal -> Process resources -> End redis service

    But the time in these following logs should be different from the ones above:

    [620] 29 Sep 21:50:35.953 * Max number of open files set to 10032
    

    So I think the key to the problem is why does Redis receive a SIGTERM signal when it starts?

    reply
    0
  • Cancelreply