Redis安装与卸载
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,
并提供多種語言的API。它支持豐富的數據類型,和高速的內存讀寫。正在逐步取代memcached的地位。
?
1、安裝
①我們可以通過在官網下載tar.gz的安裝包,或者通過wget的方式下載
?
[root@localhost data]# wget http://download.redis.io/releases/redis-4.0.1.tar.gz
--2017-09-03 09:51:27-- http://download.redis.io/releases/redis-4.0.1.tar.gz
正在解析主機 download.redis.io... 109.74.203.151
正在連接 download.redis.io|109.74.203.151|:80... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:1711660 (1.6M) [application/x-gzip]
正在保存至: “redis-4.0.1.tar.gz”57% [=====================================> ] 981,091 298K/s eta(英國中部時
64% [==========================================> ] 1,105,869 309K/s eta(英國中部時
72% [===============================================> ] 1,237,657 321K/s eta(英國中部時
80% [====================================================> ] 1,376,455 334K/s eta(英國中部時
86% [========================================================> ] 1,478,801 341K/s eta(英國中部時
92% [============================================================> ] 1,582,549 349K/s eta(英國中部時
100%[==================================================================>] 1,711,660 380K/s in 4.6s2017-09-03 09:51:32 (363 KB/s) - 已保存 “redis-4.0.1.tar.gz” [1711660/1711660])[root@localhost data]#
?
②解壓
tar -zxvf redis-4.0.1.tar.gz
③移動到/local/usr/redis目錄下去,這個純屬個人愛好
?
[root@localhost data]# ll
總用量 1676
drwxrwxr-x. 6 root root 4096 7月 24 22:58 redis-4.0.1
-rw-r--r--. 1 root root 1711660 7月 24 22:59 redis-4.0.1.tar.gz
[root@localhost data]# mv redis-4.0.1 ../redis
[root@localhost data]# cd ..
[root@localhost local]# ll
總用量 44
drwxr-xr-x. 2 root root 4096 9月 3 09:43 bin
drwxr-xr-x. 2 root root 4096 9月 3 10:04 data
drwxr-xr-x. 2 root root 4096 9月 23 2011 etc
drwxr-xr-x. 2 root root 4096 9月 23 2011 games
drwxr-xr-x. 2 root root 4096 9月 23 2011 include
drwxr-xr-x. 2 root root 4096 9月 23 2011 lib
drwxr-xr-x. 2 root root 4096 9月 23 2011 libexec
drwxrwxr-x. 6 root root 4096 7月 24 22:58 redis
drwxr-xr-x. 2 root root 4096 9月 23 2011 sbin
drwxr-xr-x. 5 root root 4096 4月 1 04:48 share
drwxr-xr-x. 2 root root 4096 9月 23 2011 src
[root@localhost local]# cd redis
[root@localhost redis]# ll
總用量 276
-rw-rw-r--. 1 root root 127778 7月 24 22:58 00-RELEASENOTES
-rw-rw-r--. 1 root root 53 7月 24 22:58 BUGS
-rw-rw-r--. 1 root root 1815 7月 24 22:58 CONTRIBUTING
-rw-rw-r--. 1 root root 1487 7月 24 22:58 COPYING
drwxrwxr-x. 6 root root 4096 7月 24 22:58 deps
-rw-rw-r--. 1 root root 11 7月 24 22:58 INSTALL
-rw-rw-r--. 1 root root 151 7月 24 22:58 Makefile
-rw-rw-r--. 1 root root 4223 7月 24 22:58 MANIFESTO
-rw-rw-r--. 1 root root 20530 7月 24 22:58 README.md
-rw-rw-r--. 1 root root 57764 7月 24 22:58 redis.conf
-rwxrwxr-x. 1 root root 271 7月 24 22:58 runtest
-rwxrwxr-x. 1 root root 280 7月 24 22:58 runtest-cluster
-rwxrwxr-x. 1 root root 281 7月 24 22:58 runtest-sentinel
-rw-rw-r--. 1 root root 7606 7月 24 22:58 sentinel.conf
drwxrwxr-x. 3 root root 4096 7月 24 22:58 src
drwxrwxr-x. 10 root root 4096 7月 24 22:58 tests
drwxrwxr-x. 8 root root 4096 7月 24 22:58 utils
[root@localhost redis]# cd ..
[root@localhost local]#
?
④接下來就是編譯了,通過make命令,如果編譯的時候報gcc命令找不到的話,可以通過下面的命令安裝gcc命令,gcc是c的編譯命令
yum install gcc-c++
下面就通過make來編譯,make是自動編譯,會根據Makefile中描述的內容來進行編譯。
?
[root@localhost redis]# make
cd src && make all
make[1]: Entering directory `/usr/local/redis/src'CC Makefile.dep
.
.
.
.
Hint: It's a good idea to run 'make test' ;)make[1]: Leaving directory `/usr/local/redis/src'
[root@localhost redis]#
?
⑤可以看到在src目錄下生成了幾個新的文件。
?
[root@localhost redis]# ll -tr src
總用量 44440
-rw-rw-r--. 1 root root 3779 7月 24 22:58 zmalloc.h
.
.
.
-rw-r--r--. 1 root root 56148 9月 3 10:11 rax.o
-rwxr-xr-x. 1 root root 7185836 9月 3 10:11 redis-server
-rwxr-xr-x. 1 root root 7185836 9月 3 10:11 redis-sentinel
-rw-r--r--. 1 root root 143800 9月 3 10:11 redis-cli.o
-rwxr-xr-x. 1 root root 5092431 9月 3 10:11 redis-cli
-rw-r--r--. 1 root root 44892 9月 3 10:11 redis-benchmark.o
-rwxr-xr-x. 1 root root 4985275 9月 3 10:11 redis-benchmark
-rwxr-xr-x. 1 root root 7185836 9月 3 10:11 redis-check-rdb
-rwxr-xr-x. 1 root root 7185836 9月 3 10:11 redis-check-aof
[root@localhost redis]#
?
為了使用方便,我們需要將這個幾個文件加到/usr/local/bin目錄下去。這個目錄在Path下面的話,就可以直接執行這幾個命令了。
?
[root@localhost redis]# make install
cd src && make install
make[1]: Entering directory `/usr/local/redis/src'CC Makefile.dep
make[1]: Leaving directory `/usr/local/redis/src'
make[1]: Entering directory `/usr/local/redis/src'Hint: It's a good idea to run 'make test' ;)INSTALL installINSTALL installINSTALL installINSTALL installINSTALL install
make[1]: Leaving directory `/usr/local/redis/src'
[root@localhost redis]# cd ..
[root@localhost local]# ll
總用量 44
drwxr-xr-x. 2 root root 4096 9月 3 10:16 bin
drwxr-xr-x. 2 root root 4096 9月 3 10:04 data
drwxr-xr-x. 2 root root 4096 9月 23 2011 etc
drwxr-xr-x. 2 root root 4096 9月 23 2011 games
drwxr-xr-x. 2 root root 4096 9月 23 2011 include
drwxr-xr-x. 2 root root 4096 9月 23 2011 lib
drwxr-xr-x. 2 root root 4096 9月 23 2011 libexec
drwxrwxr-x. 6 root root 4096 7月 24 22:58 redis
drwxr-xr-x. 2 root root 4096 9月 23 2011 sbin
drwxr-xr-x. 5 root root 4096 4月 1 04:48 share
drwxr-xr-x. 2 root root 4096 9月 23 2011 src
[root@localhost local]# ll bin
總用量 30908
-rwxr-xr-x. 1 root root 4985275 9月 3 10:16 redis-benchmark
-rwxr-xr-x. 1 root root 7185836 9月 3 10:16 redis-check-aof
-rwxr-xr-x. 1 root root 7185836 9月 3 10:16 redis-check-rdb
-rwxr-xr-x. 1 root root 5092431 9月 3 10:16 redis-cli
lrwxrwxrwx. 1 root root 12 9月 3 10:16 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 7185836 9月 3 10:16 redis-server
[root@localhost local]#
?
可以看到,這幾個文件就已經被加載到bin目錄下了
⑥下面啟動服務器,來看看安裝是否成功。使用redis-server命令。
?
[root@localhost local]# redis-server
9190:C 03 Sep 10:19:09.291 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
9190:C 03 Sep 10:19:09.292 # Redis version=4.0.1, bits=32, commit=00000000, modified=0, pid=9190, just started
9190:C 03 Sep 10:19:09.292 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
9190:M 03 Sep 10:19:09.295 * Increased maximum number of open files to 10032 (it was originally set to 1024).
9190:M 03 Sep 10:19:09.312 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now._.__.-``__ ''-.__.-`` `. `_. ''-._ Redis 4.0.1 (00000000/0) 32 bit.-`` .-```. ```\/ _.,_ ''-._( ' , .-` | `, ) Running in standalone mode|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379| `-._ `._ / _.-' | PID: 9190`-._ `-._ `-./ _.-' _.-'|`-._`-._ `-.__.-' _.-'_.-'|| `-._`-._ _.-'_.-' | http://redis.io`-._ `-._`-.__.-'_.-' _.-'|`-._`-._ `-.__.-' _.-'_.-'|| `-._`-._ _.-'_.-' |`-._ `-._`-.__.-'_.-' _.-'`-._ `-.__.-' _.-'`-._ _.-'`-.__.-'9190:M 03 Sep 10:19:09.316 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
9190:M 03 Sep 10:19:09.316 # Server initialized
9190:M 03 Sep 10:19:09.318 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
9190:M 03 Sep 10:19:09.318 * Ready to accept connections
?
看到這個界面的話,就表示安裝成功了。
下面通過在啟動一個linux客戶端,通過server-cli shutdown來關閉服務器。
?
[root@localhost ~]# redis-cli shutdown
[root@localhost ~]#下面是剛剛服務器啟動的客戶端的log
9190:M 03 Sep 10:20:45.566 # User requested shutdown...
9190:M 03 Sep 10:20:45.566 * Saving the final RDB snapshot before exiting.
9190:M 03 Sep 10:20:45.631 * DB saved on disk
9190:M 03 Sep 10:20:45.631 # Redis is now ready to exit, bye bye...
[root@localhost local]#
?
?
2、配置
可以看到,前面在啟動redis服務器后,都是在前臺啟動的,需要重新啟動一個客戶端來進行登陸操作。這樣非常不方便,
所以,我們需要設置后臺啟動。
在redis.conf的配置文件里面。做如下的修改:
daemonize no
修改為:
daemonize yes
下面需要設置redis服務器開機自動啟動:
要先讓redis服務自動啟動的話,首先需要在/etc/init.d目錄下創建redis的啟動腳本。
將redis安裝目錄下的utils/redis_init_script復制到/etc/init.d目錄下,命名為redis(名字簡單,使用方便)
[root@localhost utils]# cp redis_init_script /etc/init.d/redis
[root@localhost utils]# ll /etc/init.d/redis
-rwxr-xr-x. 1 root root 1098 9月 3 13:02 /etc/init.d/redis
[root@localhost utils]#
繼續編輯啟動文件,修改其中指定的pid和配置文件。
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
修改為
PIDFILE=/var/redis/run/redis_${REDISPORT}.pid
CONF="/etc/redis/redis.conf"
首先創建存放pid的目錄為/var/redis/run
[root@localhost var]# pwd
/var
[root@localhost var]# mkdir redis
[root@localhost var]# cd redis
[root@localhost redis]# mkdir run
[root@localhost redis]#
接下來,我們需要把配置文件復制一份到/etc/redis這個目錄下面去
?
[root@localhost etc]# mkdir redis
[root@localhost etc]# cd redis
[root@localhost redis]# ll
總用量 0
[root@localhost redis]# cp /usr/local/redis/redis.conf ./
[root@localhost redis]# ll
總用量 60
-rw-r--r--. 1 root root 57765 9月 3 13:12 redis.conf
[root@localhost redis]# pwd
/etc/redis
[root@localhost redis]#
?
修改配置文件中的pid為前面配置的pid。
pidfile /var/run/redis_6379.pid
修改為
pidfile /var/redis/run/redis_6379.pid
至此為止,我們已經可以通過service redis start/stop來啟動和關閉redis服務了。
最后只需要通過chkconfig redis on命令來設置開機啟動即可。
如果提示redis 服務不支持 chkconfig的話,只需要在/etc/init.d/redis這個啟動腳本的第二行后面加上下面的內容即可。
# chkconfig:2345 90 10
#
# description:Redis is a persistent key-value database
[root@localhost ~]# chkconfig redis on
redis 服務不支持 chkconfig
[root@localhost ~]# vi /etc/init.d/redis
[root@localhost ~]# chkconfig redis on
[root@localhost ~]#
?
3、卸載
卸載redis非常的簡單,只需要簡單的三步
1、停止redis服務器
首先,通過下面的命令查看redis服務是否在運行
[root@localhost ~]# ps aux|grep redis
root 2553 0.2 0.1 41964 1916 ? Ssl 09:38 0:00 redis-server 127.0.0.1:6379
root 2565 0.0 0.0 6048 780 pts/0 S+ 09:39 0:00 grep redis
[root@localhost ~]#
可以看到,在6379端口,有redis-server的監聽
通過下面的命令停止redis服務器。
[root@localhost ~]# redis-cli shutdown
[root@localhost ~]# ps aux|grep redisroot 2575 0.0 0.0 6048 780 pts/0 S+ 09:41 0:00 grep redis
[root@localhost ~]#
可以看到,已經停止了redis服務了。
需要注意的是,由于我的redis命令都安裝到/usr/local/bin目錄下面了,并且添加到環境變量PATH里面了,所以可以直接運行。
2、刪除make的時候生成的幾個redisXXX的文件
[root@localhost local]# ll /usr/local/bin
總用量 30908
-rwxr-xr-x. 1 root root 4985307 9月 2 21:13 redis-benchmark
-rwxr-xr-x. 1 root root 7185872 9月 2 21:13 redis-check-aof
-rwxr-xr-x. 1 root root 7185872 9月 2 21:13 redis-check-rdb
-rwxr-xr-x. 1 root root 5092475 9月 2 21:13 redis-cli
lrwxrwxrwx. 1 root root 12 9月 2 21:13 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 7185872 9月 2 21:13 redis-server
[root@localhost local]# rm -f /usr/local/bin/redis*
[root@localhost local]# ll /usr/local/bin
總用量 0
[root@localhost local]#
?
3、順便也刪除掉解壓后的文件目錄和所以文件
?
[root@localhost local]# ll
總用量 40
drwxr-xr-x. 2 root root 4096 9月 3 09:43 bin
drwxr-xr-x. 2 root root 4096 9月 23 2011 etc
drwxr-xr-x. 2 root root 4096 9月 23 2011 games
drwxr-xr-x. 2 root root 4096 9月 23 2011 include
drwxr-xr-x. 2 root root 4096 9月 23 2011 lib
drwxr-xr-x. 2 root root 4096 9月 23 2011 libexec
drwxrwxr-x. 6 root root 4096 9月 2 21:11 redis
drwxr-xr-x. 2 root root 4096 9月 23 2011 sbin
drwxr-xr-x. 5 root root 4096 4月 1 04:48 share
drwxr-xr-x. 2 root root 4096 9月 23 2011 src
[root@localhost local]# rm -rf redis
[root@localhost local]# ll
總用量 36
drwxr-xr-x. 2 root root 4096 9月 3 09:43 bin
drwxr-xr-x. 2 root root 4096 9月 23 2011 etc
drwxr-xr-x. 2 root root 4096 9月 23 2011 games
drwxr-xr-x. 2 root root 4096 9月 23 2011 include
drwxr-xr-x. 2 root root 4096 9月 23 2011 lib
drwxr-xr-x. 2 root root 4096 9月 23 2011 libexec
drwxr-xr-x. 2 root root 4096 9月 23 2011 sbin
drwxr-xr-x. 5 root root 4096 4月 1 04:48 share
drwxr-xr-x. 2 root root 4096 9月 23 2011 src
[root@localhost local]#
?
這樣,redis就卸載完成了。
總結
以上是生活随笔為你收集整理的Redis安装与卸载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【laravel7.x中文文档】Redi
- 下一篇: php7安装redis6扩展