Linux下安装Redis
1、打开Redis官网 https://redis.io/,复制Redis下载链接 或者 直接下载Redis包。
2、下载或上传Redis安装包。
在Linux /opt目录下输入命令:wget redis下载链接。如:wget http://download.redis.io/releases/redis-5.0.7.tar.gz 。
如果未安装 wget 命令,可直接 yum install -y wget 安装即可。
如果Linux服务器不能联网,则使用工具将第一步下载后的安装包上传到Linux服务器中。
3、解压Redis安装包。
在Redis安装包所在目录下输入命令:tar -xvf redis-5.0.7.tar.gz 进行解压缩。
4、编译代码。
解压后的Redis目录是尚未编译的代码,所以还需要进行编译操作。进入redis解压后的目录(如:/opt/redis-5.0.7 )中输入命令 make 即可开始编译。
编译成功后如图所示:
官方建议运行 make test 以对redis进行一次测试。
其他详细编译设置可参看gitHub: https://github.com/antirez/redis
5、make test
运行make test 命令时,可能会遇到下面这个错误:
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1
不用担心,我们安装或升级下tcl的版本即可。输入命令 yum install -y tcl 安装。 安装成功后再次运行 make test 命令,发现已成功执行。运行整个测试过程耗时较
长。如下图所示:
6、修改配置文件使Redis以守护线程的方式运行(后台运行)
redis默认启动是前台运行方式,如果关闭或断开终端则Redis服务也将关闭退出。我们可以修改配置文件使其以守护线程的方式运行。打开 /opt/redis-5.0.7/redis.conf
文件,找到 daemonize no 配置项,默认该值为no,修改为yes,保存文件,重新启动redis即可。
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize no
7、运行Redis服务
执行命令 /opt/redis-5.0.7/src/redis-server /opt/redis-5.0.7/redis.conf 即可后台运行Redis服务,记得要指定配置文件。
8、redis-cli进行测试
9、如果想要将Redis服务设置为开机自启动,可以利用Linux的systemd管理。方法如下:
1)、进入redis所在目录 (如:/opt/redis-5.0.7),输入 make install 命令,redis将会被默认安装到 /usr/local/bin 目录下;
2)、将Redis配置文件 redis.conf 文件复制一份到目录 /etc/ 或者 /etc/redis/ 下,配置好相关参数,一定要将Redis设置为后台启动;
3)、进入 /usr/lin/systemd/system/ 目录下, 创建 redis.service 文件,输入以下内容:
[Unit]
Description=Redis Service
After=network.target
[Service]
Type=forking
PIDFile=/run/redis_6379.pid
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf #此处redis配置文件的目录和执行脚本可以根据自己redis的安装目录来配置
ExecStop=/usr/local/bin/redis-cli shutdown
PrivateTmp=false
[Install]
WantedBy=multi-user.target
保存redis.service文件。
4)、执行 systemctl daemon-reload 命令;
5)、执行 systemctl enable redis 命令设置开机自启动Redis服务;
6)、执行 systemctl start redis 启动redis服务;
7)、执行 systemctl stop redis 停止redis服务;
8)、执行 systemctl status redis 查看redis服务状态。
到此,redis的服务的基本安装和配置方式就结束了。谢谢!