需要说明的是本案例的操作中,为了避免每次命令都要敲sudo,所以我是用root账号远程登录操作的。关于如何允许root账号远程登录请看这个文章:http://www.linuxdiyf.com/linux/29432.html
当然了,如果你不想用root登录,用普通账号登录后,请使用sudo -s先获得管理员权限,这样也可以避免每次敲sudo执行命令。
1、下载Redis
地址:https://redis.io/
如图:
如果官网下载失败,需要下载相关的压缩包和配置示例的话可以在这里下载:http://download.csdn.net/detail/pucao_cug/9804013
2、上载压缩包到Linux服务器
这里将Redis安装到opt目录下,这样所有用户登录上去都可以使用。
使用远程工具(例如,我需要上载或者下载文件时使用的是SecureFX)连接Linux服务器,使用root账号登录(要允许用root账号远程登录,需要做配置,这里不展开),在opt目录下新建一个名为redis的目录,将redis-3.2.8.tar.gz拷贝到该目录下。
如图:
3、编译安装
使用远程连接工具连接到Linux服务器(可以使用普通账号登录,然后使用sudo -s命令获得管理员权限,也可以直接使用root账号登录)。
3.1、替换为国内的源
因为要安装make和gcc等一些程序,需要根据源地址下载相关的东西,如果你的ubuntu16.04使用的还是国外的源,请替换成国内的源吧,否则要下载的东西几乎是下不到的。关于替换成国内的源的问题,请参考此文章:http://www.linuxdiyf.com/linux/29430.html
注意:替换为国内的源地址后,在继续往下,这个很重要,否则你的很多安装命令都会失败,原因是被国内防火墙拦截了,访问不到国外的下载地址。还有就是替换源地址后执行apt-get update也是很重要,不能省略。
3.2、安装make程序
如果你的ubuntu16.04已经安装了make程序就跳过此节。
执行命令安装make程序apt-get install make回车
如图:
3.3、安装gcc程序
如果你的ubuntu16.04已经安装了gcc程序就跳过此节。
执行命令安装gcc程序apt-get install gcc回车
如图:
很快,gcc就安装完成了
如图:
3.4、开始编译Redis
执行命令进入到redis目录cd /opt/redis回车
执行命令对压缩包进行解压tar -zxvf redis-3.2.8.tar.gz回车
解压后得到了一个新的文件夹
如图:
执行命令进入到这个目录下cd /opt/redis/redis-3.2.8回车
执行命令进行编译 make回车
稍等片刻,即可完成编译
如图:
注意:这里提示你运行make test进行测试,但是没必要执行,因为要执行该命令还依赖其他一些东西,还要安装其他东西,这里就略去了,因为不影响后面安装和启动Redis。
还需要说明的是,如果你没按照此文的步骤来做,需要安装的东西没装好,解压后上来就是直接make,很可能失败,失败后你在安装其他依赖程序,安装完在来make还是会一样的失败,这时候你应该把解压得到的文件夹删除了,重新解压一个最新的,然后在make。
3.5、开始安装Redis
执行命令进行安装 make install回车
如图:
如果没报错,说明安装成功了,默认的安装路径是/usr/local/bin
如图:
说明:因为usr/local/bin 这个路径是在环境变量中的,所以后面启动redis时候,不需要使用cd进入到usr/local/bin目录内,直接在任意路径下执行启动redis-server的命令即可。
4、启动Redis
4.1、启动
执行启动程序redis-server /opt/redis/redis-3.2.8/redis.conf回车
执行没有报错就会启动成功,启动成功就可以看到输出
如图:
注意:这里提示你运行make test进行测试,但是没必要执行,因为要执行该命令还依赖其他一些东西,还要安装其他东西,这里就略去了,因为不影响后面安装和启动Redis
4.2、测试
另外开一个远程连接窗口
执行redis-cli这个程序并且传入的参数ping,命令如下:
redis-cli ping
如果返回的是PONG,说明一切都是OK的
如图:
4.3、配置开机启动redis
如果觉得每次服务器重启,都要手动启动redis-server不科学,那么需要做两件事情,第一是修改redis配置文件,第二是在服务器中配置上开启启动redis的脚本。
4.3.1、修改redis.conf文件
(必配项)
该文件在我服务器上存在的路径是 /opt/redis/redis-3.2.8/redis.conf,编辑它增加下面的配置让redis支持在后台运行,增加配置:
daemonize yes
(选配项)
下面的配置是改变日志输出的位置,默认是打印到控制台上,因为大多数日志都写到/var/log里,所以我们也遵循这个惯例,将redis日志定向到这里,增加配置:
logfile "/var/log/redis.cj.log"
(选配项)
下面的配置是指定reids持久化的目录,可以不配,也可以自己指定(注意:一定要记住如果配置了该目录,而如果该目录不存在的话,你必须手动创建,否则会报错的,redis不会自己创建该目录的),增加配置:
dir /opt/redis/data
其他配置项这里就不细说了,我这里配置了三个其中只有daemonize yes是必须的
如图:
在强调一下,如果你也指定让redis把持久化的东西报错到/opt/redis/data这个目录的话,你需要手动创建这个data目录
如图:
4.3.2、在/etc/init.d/目录下创建一个启动文件
在/etc/init.d/目录下创建一个启动文件,该文件名可以任意取,这里取名为redis
文件内容的话其实不用自己来写,redis已经给了我们一个现成的了,就是在解压目录里面的utils目录下的redis_init_script这个文件。
如图:
你可以直接拷贝到/etc/init.d这个目录下,可以任意改名字,但是我觉得还是用redis比较好吧。好了明白了要做什么,直接用cp命令复制过去并且改名吧。
执行命令
cp /opt/redis/redis-3.2.8/utils/redis_init_script /etc/init.d/redis回车
如图:
执行成功后可以看到在/etc/init.d目录下有了redis文件
如图:
该文件的内容如下(该文件可以修改也可以不修改,这里不用修改,使用原始的就行,后面有陆续步骤来配合该文件):
#!/bin/sh
#
# Simple Redis init.dscript conceived to work on Linux systems
# as it does use of the/proc filesystem.
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
case "$1" in
start)
if [ -f$PIDFILE ]
then
echo"$PIDFILE exists, process is already running or crashed"
else
echo"Starting Redis server..."
$EXEC$CONF
fi
;;
stop)
if [ ! -f$PIDFILE ]
then
echo"$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo"Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [-x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo"Redis stopped"
fi
;;
*)
echo"Please use start or stop as first argument"
;;
esac
4.3.3、将redis.conf文件拷贝到/etc/redis目录下
其实这个redis.conf文件放哪里都无所谓,只是因为要和那个启动文件对应,而那个启动文件redis里我们暂时没改内容,所以就遵照那个配置文件的意思,在/etc/目录下新建一个名为redis的目录,在该目录下把redis.conf拷贝过来,并且改名为端口号,例如默认是用6379端口。好了,明白了要做什么,开始吧,同样的简单点用cp命令吧,只不过你需要把路径改成你自己的,如果你的解压路径和我的不同的话。
执行新建目录的目录 mkdir /etc/redis
执行拷贝命令 cp /opt/redis/redis-3.2.8/redis.conf /etc/redis/6379.conf
执行成功后,在/etc/redis目录下就有名为6379.conf的文件了
如图:
注意:这个配置文件里的内容是需要做修改的,不是解压后的那个原始配置,具体的修改项请看4.3.1那个章节。
4.3.4、安装sysv-rc-conf程序
注意了chkconfig主要是Centos上用,我们当前用的是ubuntu16.04,你需要安装sysv-rc-conf
开始安装sysv-rc-conf程序 ,执行命令: apt-get install sysv-rc-conf回车
如图:
4.3.5、执行授权和开机启动命令
执行授权命令:chmod +x /etc/init.d/redis 回车
执行修改开机启动项的命令:update-rc.d redis defaults 回车
如图:
一切完成,重启服务器(可以使用reboot命令),在不手动执行启动redis服务的情况下,直接启动客户端,看看是否能连上redis服务
执行命令:redis-cli ping
如图: