概述:
我想在Linux虛擬機上安裝redis,有兩個需要注意的地方:
1、安裝時需要進行編譯操作,確保你的虛擬機裏面安裝了gcc編譯器,安裝的命令是yum install gcc,查看gcc環境是否安裝好的命令是rpm -qa | grep gcc。
2、默認的安裝的gcc的版本是4.8.5,如果你的redis版本是6.xxx版本的,那麼它編譯的時候就會報錯,錯誤信息如下所示,解決的辦法有兩個:第一個方法就是換個低版本的redis(5.0.8就可以),第二個方法就是升級gcc的版本,升級gcc的命令如下所示:
#1、安裝scl,它可以在不覆蓋原有軟件包的情況下與其共存,缺點就是僅支持64位
yum -y install centos-release-scl
#2、安裝gcc,其中的9表示大版本號,默認安裝大版本下的最新穩定版本
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#3、使用以下命令臨時啓動gcc,這種方式適用於臨時切換系統的gcc版本,即開即用,僅在當前bash中有效,重啓虛擬機就又變成4.8.5了
scl enable devtoolset-9 bash
#4、使用以下命令永久啓動gcc,這種方式適用於長期使用該版本進行編譯,切換bash依然有效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
#查看gcc環境
gcc -v
第一步:下載安裝文件
官網的地址爲:https://download.redis.io/releases/,下載適合自己的版本,並將安裝包複製到Linux的usr/local目錄下下。
第二步:解壓文件
tar -zxvf redis-6.0.4.tar.gz
第三步:編譯文件
進入到解壓後的文件夾內,執行編譯操作
cd redis-6.0.4
make
第四步:安裝redis軟件
#將redis安裝到/usr/local/redis 目錄下
make PREFIX=/usr/local/redis install
將安裝包裏面的redis.conf的文件複製到redis的安裝目錄下,這是redis啓動時需要的配置文件
cp /usr/local/redis-6.0.4/redis.conf /usr/local/redis/
第五步:啓動redis
執行redis裏的bin目錄下的redis-server命令
redis-server
第六步:後臺運行
設置redis服務程序在後臺運行,修改redis文件夾裏面的redis.conf文件
vim /usr/local/redis/redis.conf
#修改爲yes,後臺啓動
daemonize yes
進入redis目錄,然後加載配置文件redis.conf運行
cd /usr/local/redis
./bin/redis-server ./redis.conf
第七步:修改密碼
修改redis下的redis.conf文件,註釋取消掉設置賬號密碼
requirepass 123456
指定redis.conf文件重新啓動
./bin/redis-server ./redis.conf
第八步:啓動Redis客戶端
進入到redis的bin目錄下,輸入以下命令:
./redis-cli -h 127.0.0.1 -p 6379 -a "123456"
第九步:停止redis
我們使用shutdown命令來停止redis,進入到redis的目錄下
./bin/redis-cli shutdown
第十步:設置redis服務外訪問
#修改配置文件
sudo vi /usr/local/redis/redis.conf
#更換綁定
#將bind 127.0.0.1 更換爲本機IP,例如:192.168.179.129
bind 192.168.11.11
#關閉保護模式
protected-mode no
編輯完重啓一下redis服務
遇到的問題:
當我進行連接的時候,發現Redis desktop manager崩潰了,原因是因爲redis處於protected mode,導致無法連接,
修改一下配置就可以了,protected mode功能是redis3.2以後添加的,默認爲開啓狀態。
redis-cli -p 6379 config get protected-mode
redis-cli -p 6379 config set protected-mode no
注意:需要將6379端口號開放出去
#增加redis端口:6379
sudo firewall-cmd --add-port=6379/tcp --permanent
#重新加載防火牆設置
sudo firewall-cmd --reload
第十一步:設置redis開機自啓動
將Redis配置成爲系統服務,以支持開機啓動
#創建服務文件
sudo vi /usr/lib/systemd/system/redis.service
#文件內容
[Unit]
Description=Redis Server
After=network.target
[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf --daemonize no
ExecStop=/usr/local/redis/bin/redis-cli -p 6379 shutdown
Restart=always
[Install]
WantedBy=multi-user.target
#設置Redis服務開機啓動
sudo systemctl enable redis
#啓動Redis服務
sudo systemctl start redis
#輸入下面的命令即可查看redis是否在後臺運行
ps -A | grep redis