Redis(1)虛擬機器中部署Redis服務
一、安裝virtualbox
傻瓜式安裝
二、virtualbox中安裝CentOS7
1、下載CentOS7
2、安裝CentOS7
這一步網上教程很多,我在安裝過程中,遇到一個問題,就是virtualbox中沒有64位選項,無法安裝成功,這裡介紹一下這個問題的解決辦法:
需要在BIOS中開啟虛擬化技術
首先開機進入BIOS,一般機器是按F2,我的T470是按F12,然後進入Security,Virtualization,選擇Enable即可,如下圖:
這樣重啟電腦,virtualbox中就出現了64位的選項了,選擇相應選項,並CentOS映象,進行安裝。
三、安裝Redis
進入虛擬機器的CentOS系統後,在此基礎上部署Redis服務,有這麼幾點需要注意的:
1、redis是由C語言編寫,因此在centos上要提前下載gcc-c++編譯器。
yum -y install gcc-c++
如果你的系統沒有更新,請先更新系統:
執行命令:yum update
2、yum安裝wget
yum -y install wget
3、下載安裝包
wget http://download.redis.io/releases/redis-3.2.10.tar.gz
4、解壓並make安裝包
解壓命令:tar -zxvf redis-3.0.7.tar.gz
進入解壓之後的資料夾:cd redis-3.2.10
make命令:make
5、開始安裝
安裝命令: make PREFIX=/usr/local/redis install
拷貝配置檔案到安裝目錄:cp redis.conf /usr/local/ redis
6、啟動server的兩種方式
進入安裝之後的bin目錄:cd /usr/local/redis/bin
啟動server方式一:./redis-server (此方式會會佔用你的終端,不能進行其他操作)
啟動server方式二:
先修改redis.conf中的daemonize為yes
./bin/redis-server ./redis.conf
7、修改redis.conf檔案
a> vi redis.conf
b> 查詢目標內容:/daemonize
c> 檢視下一個匹配,按下n(小寫n),跳轉到上一個匹配,按下N(大寫N)
d> 進入編輯模式:i,修改內容,退出編輯模式:esc,儲存並退出文件 :wq
8、檢查server是否起來。
執行命令: ps -ef | grep redis (看到./bin/redis-server字樣說明已經起來了)
9、啟動client端
執行命令:./bin/redis-cli
10、 測試client端是否起來
測試命令:ping(出現PONG字樣說明成功了)
四、本地機器訪問虛擬機器中的Redis服務
1、檢測是否可以連通:
a> 本地機器開啟cmd,先ping虛擬機器地址,是否能ping通:ping 虛擬機器IP
b> 檢測埠是否通著:telnet 虛擬機器IP 6379
2、6379埠不通的解決辦法
a> 編輯redis.conf檔案
將bind 127.0.0.1改為:
#bind 127.0.0.1
b> 6379埠設定對外開放
埠開放需要將該埠開放規則加到iptables中:
iptables –I INPUT –p tcp –-dport 6379 –j ACCEPT
其中 –I 引數就是新增一條規則的意思,還可以用-A新增在最後面,但是我試了會失效,可能是因為前面的規則優先的原因吧,還有待考究 INPUT 是進入規則,同樣還有OUTPUT -p 就是protocol什麼協議的意思 --dport是destination port的意思,目標埠 -j就是制定規則的,可以是ACCEPT、DROP 這樣就是把規則加進去了,此時可以通過下面的命令檢視,可以看到6379已經加進去了:
iptables –L –n | grep 6379
在本機測試一下,發現已經可以連線上了,但是此時還沒有真正儲存,重啟之後會失效,但是這個還需要用下面的命令進行儲存:
service iptables save
該命令會將6379埠規則寫入/etc/sysconfig/iptables,檔案中,而不是臨時的,重啟之後也不會消失,至此虛擬機器上面開啟redis埠的工作就完成了。