此次安裝是在CentOS7下安裝Redis5.0.7
一.首先準備Redis安裝包
這裡下載的是 redis-5.0.7.tar.gz 安裝包,並將其直接放在了 root ⽬錄下
壓縮包下載地址:https://files.cnblogs.com/files/blogs/726807/redis-5.0.7.tar.gz
二.解壓安裝包
2.1在/data
下建立redis
資料夾並進入
cd /data/
mkdir redis
cd redis
2.2將安裝包解壓到/data/redis/
中
tar zxvf /root/redis-5.0.7.tar.gz -C /data/redis
解壓完之後會在/data/redis/
下生成一個redis-5.0.7
的資料夾
三.編譯並安裝
cd /data/redis/redis-5.0.7
make && make PREFIX=/data/redis install
注意:因為缺少相關的包導致編譯失敗
舉例:
1.缺少gcc,則安裝gcc
yum -y install gcc
2.make時報如下錯誤:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2
原因是jemalloc過載了Linux下的ANSIC的malloc和free函式。解決辦法:make時新增引數。
make MALLOC=libc
3.make之後,會出現一句提示Hint: To run 'make test' is a good idea ;
但是不測試,通常是可以使用的。若我們執行make test ,會有如下提示
make test
You need tcl 8.5 or newer in order to run the Redis test
make: ***[test] Error_1
解決辦法是用yum安裝tcl8.5(或去tcl的官方網站http://www.tcl.tk/下載8.5版本,並參考官網介紹進行安裝)
yum -y install tcl
補:問題解決完了最好再重新編譯下。
四.將Redis安裝為系統服務並後臺啟動
[root@localhost redis-5.0.7]# cd utils/
//執行服務指令碼 指令碼中redis安裝路徑為/data/redis
//此處我全部選擇的預設配置即可,有需要可以按需定製!!!
//參考地址:https://files.cnblogs.com/files/blogs/726807/install_server.sh
//可以直接貼上上我的我把所有用到的Redis的所有配置都放在了/data/redis目錄下
說明:為了方便,最好自己配置一下install_server.sh中的路徑,就比如後續啟動需要的redis-server 和 配置檔案6379.conf 把它倆放到建的redis資料夾下,方便查詢
[root@localhost utils]# ./install_server.sh
五.檢視Redis服務啟動情況,並停止Redis服務
//檢視服務狀態
systemctl status redis
//停止服務
systemctl stop redis
//結束程式
ps -ef|grep redis
kill -9 PID
六.修改配置檔案和修改系統配置(保證redis的遠端可以訪問)
6.1.編輯redis配置檔案
vi /etc/redis/6379.conf(預設配置檔案位置,修改自己實際配置檔案)
vi /data/redis/16379.conf
修改內容:
1.將 bind 127.0.0.1 修改為 0.0.0.0 //修改IP
2.daemonize yes //在後臺執行
3.protected-mode 設定成no(預設是設定成yes的, 防止了遠端訪問,在redis3.2.3版本後)
4.requirepass 123456 //設定密碼 可不設定
6.2.關閉防火牆和SELINUX
6.2.1關閉防火牆
1、停止firewalld服務
systemctl stop firewalld
2、禁止firewalld開機啟動
systemctl disable firewalld
6.2.2關閉SELINUX
vi /etc/selinux/config
將`SELINUX=enforcing`修改為`SELINUX=disabled`,儲存退出
七.啟動Redis並遠端訪問
7.1啟動Redis (使用絕對路徑啟動,一勞永逸,免去一些找不到命令錯誤)
/data/redis/bin/redis-server /data/redis/16379.conf
ps -ef|grep redis //檢視是否啟動成功
7.2遠端訪問Redis
輸入IP,預設埠號6379,密碼,測試連線,搞定!
八.設定開機啟動Redis(建議設定)
方式 1 vi /etc/rc.d/rc.local
新增啟動命令到 /etc/rc.d/rc.local 中:
/data/redis/bin/redis-server /data/redis/16379.conf
方式 2 . vi /lib/systemd/system/redis.service
[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#PIDFile=/data/redis/redis.pid
ExecStart=/data/redis/bin/redis-server /data/redis/16379.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
ExecStartPost=/bin/sh -c "echo $MAINPID > /data/redis/redis.pid"
PrivateTmp=true
[Install]
WantedBy=multi-user.target
//過載系統服務
sudo systemctl daemon-reload