由于项目需要,所以打算重新在Ubuntu18上安装Redis数据库,营造测试环境。
运行环境 Runtime environment
1 | 操作系统 : Ubuntu18.04LTS |
背景
项目的后台服务器,使用的还是Ubuntu16.04就连腾讯云也在提示更新了。但是并不知道Ubuntu18装上Redis会有哪些不同,于是在此做出尝试。
Redis在Linux Ubuntu中安装
安装办法一般分为两种用:
- 从官网Redis下载离线包安装
- 直接通过Ubuntu终端输入命令来安装
由于以前尝试过使用离线包安装了,本次打算通过命令行在终端中实现安装,并以此为例。
安装前先更新一下apt
sudo apt-get update
安装Redis服务器端命令
sudo apt-get install redis-server
安装不出以外的话,一般都会有如下信息:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
libjemalloc1 redis-tools
建议安装:
ruby-redis
下列【新】软件包将被安装:
libjemalloc1 redis-server redis-tools
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 14 个软件包未被升级。
需要下载 634 kB 的归档。
解压缩后会消耗 3,007 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 libjemalloc1 amd64 3.6.0-11 [82.4 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 redis-tools amd64 5:4.0.9-1 [516 kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 redis-server amd64 5:4.0.9-1 [35.4 kB]
已下载 634 kB,耗时 4秒 (170 kB/s)
正在选中未选择的软件包 libjemalloc1。
(正在读取数据库 ... 系统当前共安装有 172042 个文件和目录。)
正准备解包 .../libjemalloc1_3.6.0-11_amd64.deb ...
正在解包 libjemalloc1 (3.6.0-11) ...
正在选中未选择的软件包 redis-tools。
正准备解包 .../redis-tools_5%3a4.0.9-1_amd64.deb ...
正在解包 redis-tools (5:4.0.9-1) ...
正在选中未选择的软件包 redis-server。
正准备解包 .../redis-server_5%3a4.0.9-1_amd64.deb ...
正在解包 redis-server (5:4.0.9-1) ...
正在处理用于 ureadahead (0.100.0-20) 的触发器 ...
正在设置 libjemalloc1 (3.6.0-11) ...
正在处理用于 libc-bin (2.27-3ubuntu1) 的触发器 ...
正在处理用于 systemd (237-3ubuntu10.3) 的触发器 ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在设置 redis-tools (5:4.0.9-1) ...
正在设置 redis-server (5:4.0.9-1) ...
Created symlink /etc/systemd/system/redis.service → /lib/systemd/system/redis-server.service.
Created symlink /etc/systemd/system/multi-user.target.wants/redis-server.service → /lib/systemd/system/redis-server.service.
正在处理用于 ureadahead (0.100.0-20) 的触发器 ...
正在处理用于 systemd (237-3ubuntu10.3) 的触发器 ...
安装完成后,Redis服务器会自动启动,在此检查Redis服务器程序是否正常,有四种方法:
检查Redis服务器系统进程
ps -aux|grep redis
1
2
3 root 4639 0.0 0.2 72796 4140 pts/0 T 21:09 0:00 sudo apt-get install redis-server
redis 5715 0.1 0.1 58548 2256 ? Ssl 21:11 0:00 /usr/bin/redis-server 127.0.0.1:6379
xx 5876 0.0 0.0 21536 1044 pts/0 S+ 21:15 0:00 grep --color=auto redis
通过启动命令检查Redis服务器状态
sudo /etc/init.d/redis-server status
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-11-01 21:11:47 CST; 6min ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 5715 (redis-server)
Tasks: 4 (limit: 2293)
CGroup: /system.slice/redis-server.service
└─5715 /usr/bin/redis-server 127.0.0.1:6379
11月 01 21:11:47 RQ systemd[1]: Starting Advanced key-value store...
11月 01 21:11:47 RQ systemd[1]: redis-server.service: Can't open PID file …tory
11月 01 21:11:47 RQ systemd[1]: Started Advanced key-value store.
Hint: Some lines were ellipsized, use -l to show in full.
通过端口监听检查Redis服务器状态
netstat -nlt|grep 6379
1
2 tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
tcp6 0 0 ::1:6379 :::* LISTEN
通过简单的启动命令检查
redis-server
1
2
3
4
5
6
7 6009:C 01 Nov 21:22:59.236 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6009:C 01 Nov 21:22:59.236 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=6009, just started
6009:C 01 Nov 21:22:59.236 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
6009:M 01 Nov 21:22:59.237 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
6009:M 01 Nov 21:22:59.237 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
6009:M 01 Nov 21:22:59.237 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
6009:M 01 Nov 21:22:59.237 # Creating Server TCP listening socket *:6379: bind: Address already in use
查得到的东西,就说明它跑得正开心。但是这里说的,是redis的服务端。
通过命令行客户端访问Redis
一般来说,安装Redis服务器,它会把服务端和客户端都安装了。
在本机输入redis-cli命令就可以启动,客户端程序访问Redis服务器
redis-cli
成功以后,如下显示(ctr+c即可退出):1
127.0.0.1:6379>
Redis的配置
- 使用Redis的访问账号
默认情况下,访问Redis服务器是不需要密码的,出于增加安全性需要设置Redis服务器的访问密码。
密码:redis233666888
用vim(如果没有,建议安装,很简单)打开Redis服务器的配置文件redis.conf
sudo vim /etc/redis/redis.conf
敲下“/”然后输入requirepass,这是vim的搜索功能
取消注释requirepass,并且修改
requirepass redis233666888
- 设置服务端可以远程访问
Redis服务器不允许远程访问,只允许本机访问,所以需要设置打开远程访问的功能
用vim(如果没有,建议安装,很简单)打开Redis服务器的配置文件redis.conf
sudo vim /etc/redis/redis.conf
敲下“/”然后输入bind,这是vim的搜索功能(回车以后,按下“n”为查找下一个,“N”为查找上一个!)
把bind 127.0.0.1 ::1注释掉
# bind 127.0.0.1 ::1
修改完成,重启生效
sudo /etc/init.d/redis-server restart
1
[ ok ] Restarting redis-server (via systemctl): redis-server.service.
带密码登陆redis客户端
redis-cli -a redis233666888
监听redis的端口
netstat -nlt|grep 6379
1
2tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN
tcp6 0 0 :::6379 :::* LISTEN
可以观察到,IP地址从127.0.0.1变成了四个0,表示已经支持远程登陆。
总结
安装和配置使用,大概就这么多内容了。关于如何操作Redis那不是本次博文的的主题,日后有机会,再进行说明吧