阿里雲Ubuntu16.04 修改bind配置後重啟動redis報錯
阿新 • • 發佈:2018-11-27
目的:需設定執行遠端連線redis
操作:修改配置檔案/etc/redis/redis.conf 的bind ,值改為阿里雲的公網ip
重啟:修改後重啟redis
報錯:重啟失敗報錯 Job for redis-server.service failed because a configured resource limit was exceeded. See "systemctl status redis-server.service" and "journalctl -xe" for details.
[email protected]:/etc/redis# vi redis.conf
[email protected]:/etc/redis# service redis-server restart Job for redis-server.service failed because a configured resource limit was exceeded. See "systemctl status redis-server.service" and "journalctl -xe" for details. [email protected]:/etc/redis# 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: inactive (dead) (Result: resources) since Wed 2018-07-04 11:20:18 CST; 1min 56s ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 1925 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.post-down.d (code=exited, status=0/SUCCESS) Process: 1919 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 1914 ExecStop=/bin/run-parts --verbose /etc/redis/redis-server.pre-down.d (code=exited, status=0/SUCCESS) Process: 1909 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server.post-up.d (code=exited, status=0/SUCCESS) Process: 1905 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Process: 1900 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (code=exited, status=0/SUCCESS) Main PID: 1721 (code=exited, status=0/SUCCESS) Jul 04 11:20:18 iZwz993neupeidg9ww5cnuZ systemd[1]: redis-server.service: Service hold-off time over, scheduling restart. Jul 04 11:20:18 iZwz993neupeidg9ww5cnuZ systemd[1]: Stopped Advanced key-value store. Jul 04 11:20:18 iZwz993neupeidg9ww5cnuZ systemd[1]: redis-server.service: Start request repeated too quickly. Jul 04 11:20:18 iZwz993neupeidg9ww5cnuZ systemd[1]: Failed to start Advanced key-value store.
原因:bind值配置為阿里雲的外網ip地址所致,阿里雲的公網地址是通過對映得到
[email protected]:/etc/redis# ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3e:06:cb:c7
inet addr:172.18.67.XXX Bcast:172.18.XXX.255 Mask:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6651 errors:0 dropped:0 overruns:0 frame:0
TX packets:5217 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:636033 (636.0 KB) TX bytes:770892 (770.8 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:143 errors:0 dropped:0 overruns:0 frame:0
TX packets:143 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:12154 (12.1 KB) TX bytes:12154 (12.1 KB)
[email protected]:/etc/redis#
解決:方案1 註釋掉bind (存在風險,最好把)
方案2 把bind值改為 阿里雲伺服器內網ip
重啟:正常
[email protected]:/etc/redis# service redis-server restart
[email protected]:~# ps -ef |grep redis
redis 2153 1 0 11:56 ? 00:00:03 /usr/bin/redis-server 172.xx.xx.xx:6379
root 2193 1058 0 13:20 pts/1 00:00:00 grep --color=auto redis
redis-cli連線
[email protected]:/etc/redis# redis-cli -h 172.xx.XX.XX -a XXXredis
172.18.67.246:6379> get key1
"helloredis"
建議:任意主機都可以遠端redis ,出於安全性考慮 開啟requirepass <password>
etc/redis/redis.conf