一、redis設置開機自啟動:centOS:
1.修改redis.conf中daemonize為yes,確保守護進程開啟,也就是在后台可以運行.
(守護進程:孤兒進程;獨立於終端而存在的進程,不會因為終端結束而結束,一直伴隨系統進程而存在,類似inetd網絡進程)
打開redis命令:service redis start
關閉redis命令:service redis stop
設為開機啟動:chkconfig redis on (ubuntu自動設置為開機自啟動)
設為開機關閉:chkconfig redis off
// ---------------- 2019/3/7 update ---------------
centos6.X下設置redis開機自啟動,大致命令和步驟如下:(redis-5.0.3)
1. 設置redis.conf中daemonize為yes,確保守護進程開啟,也就是在后台可以運行.
2. 復制redis配置文件(啟動腳本需要用到配置文件內容,所以要復制)
[root@localhost /]# mkdir /etc/redis #在/etc下新建redis文件夾 [root@localhost redis]# cp /opt/redis-5.0.3/redis.conf /etc/redis/6379.conf #把安裝redis目錄里面的redis.conf文件復制到/etc/redis/6379.conf里面,6379.conf啟動腳本里面的變量會讀取這個名稱,6379是redis的端口號
3.復制redis啟動腳本
[root@localhost redis]# find / -name redis_init_script #redis啟動腳本一般在redis根目錄的utils,如果不知道路徑,可以先查看路徑 /usr/redis/redis-3.2.4/utils/redis_init_script [root@localhost redis]# cp /opt/redis-5.0.3/utils/redis_init_script /etc/init.d/redis #復制啟動腳本到/etc/rc.d/init.d/redis文件中
(init.d 是一個軟連接,鏈接到/etc/rc.d/init.d/)
4.修改啟動腳本參數
[root@localhost redis]# vim /etc/rc.d/init.d/redis #在/etc/init.d/redis文件的頭部添加下面兩行注釋代碼,也就是在文件中#!/bin/sh的下方添加 # chkconfig: 2345 10 90 # description: Start and Stop redis
同時還要修改參數,指定redis的安裝路徑
以下是我的安裝路徑: REDISPORT=6379 EXEC=/usr/local/redis-5.0.3/src/redis-server CLIEXEC=/usr/local/redis-5.0.3/src/redis-cli
5. 設置redis開機自啟動
# chkconfig --add redis
# chkconfig redis on 開啟開機啟動
# chkconfig redis off 關閉開機啟動
6.重啟服務器 reboot
7.重啟完成,查看redis服務是否自啟動,ps -aux|grep redis
// ---------------- 2019/3/7 update--end ---------------
二、redis作為一個高速數據庫,在互聯網上,必須有對應的安全機制來進行保護,方法有2,如下。
1.比較安全的辦法是采用綁定IP的方式來進行控制。
# If you want you can bind a single interface, if the bind option is not
# specified all the interfaces will listen for incoming connections.
#
# bind 127.0.0.1
把# bind 127.0.0.1前面的 注釋#號去掉,然后把127.0.0.1改成你允許訪問你的redis服務器的ip地址,表示只允許該ip進行訪問
這種情況下,我們在啟動redis服務器的時候不能再用:redis-server,改為:redis-server path/redis.conf 即在啟動的時候指定需要加載的配置文件,其中path/是你上面修改的redis配置文件所在目錄,這個方法有一點不太好,我難免有多台機器訪問一個redis服務。
2.修改設置密碼,以提供遠程登陸
1)打開redis.conf配置文件,找到requirepass,然后修改如下:
requirepass yourpassword
yourpassword就是redis驗證密碼。
2)設置密碼以后發現可以登陸,但是無法執行命令了。
redis-cli -h yourIp -p yourPort -a youpassword//啟動redis客戶端,並連接服務器 redis默認端口6379
keys * //輸出服務器中的所有key
如果redis服務端沒有配置密碼,會得到nil,而如果配置了密碼,但是redis客戶端連接redis服務端時,沒有用密碼登錄驗證,會提示:operation not permitted,這時候可以用命令:auth yourpassword 進行驗證密碼,再執行 config set requirepass,就會顯示yourpassword
由於redis並發能力極強,僅僅搞密碼,攻擊者可能在短期內發送大量猜密碼的請求,很容易暴力破解,所以建議密碼越長越好,比如20位。(密碼在 conf文件里是明文,所以不用擔心自己會忘記)