[英]Redis Startup issues on Debian Stretch (9)
實際上,我正在為公司的新生產服務器切換到Debian 9,並希望為它們配置ansible。 到目前為止,一切正常,但現在我受困於redis-server了。
默認情況下,Debian 9帶有Redis版本3.2。 我正在通過apt-get install redis-server
安裝軟件包。 之后,redis在后台作為守護程序啟動。 現在,我想應用一些自定義配置,例如綁定到2個不同的IP(127.0.0.1和服務器IP)。
更改此選項以及daemonize
選項(為yes
)后,redis不再願意在后台啟動。 每當執行service redis-server start
或/etc/init.d/redis-server start
,命令都會卡住。
journalctl -xe
告訴我,該pid文件不可讀( redis-server.service: PID file /var/run/redis/redis-server.pid not readable (yet?) after start-post: No such file or directory
),即使應根據init.d腳本創建它:
start)
echo -n "Starting $DESC: "
mkdir -p $RUNDIR
touch $PIDFILE
chown redis:redis $RUNDIR $PIDFILE
chmod 755 $RUNDIR
畢竟,我可以看到, service redis-server start
和/etc/init.d/redis-server
都在啟動服務器,而且我還可以通過redis-cli
連接到服務器。 但是,該死的過程陷入了困境。
有人可以幫忙嗎? 如果您需要更多信息,請告訴我。 如果能解決問題,我將提供一切可能!
最好的克里斯
我在Centos 7服務器上也有類似情況。
解決方案是將有supervised
從否更改為自動
# By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. daemonize yes # If you run Redis from upstart or systemd, Redis can interact with your # supervision tree. Options: # supervised no - no supervision interaction # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous liveness pings back to your supervisor. supervised auto
當您將進程作為守護程序運行時,它需要與systemd進行交互以進行進程管理(如果我很好地閱讀了一些文檔)。
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.