CentOS 7

CentOS7下的各种应用


CentOS7下Redis的安装和部署

<p><code>请参考redis-6.0.9安装</code>:<a href="https://www.showdoc.com.cn/557523996513244/5899727085243089">https://www.showdoc.com.cn/557523996513244/5899727085243089</a></p> <h3>一、Redis介绍</h3> <p>Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。 和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。</p> <h3>二、Redis的安装</h3> <p>下面介绍在Linux环境下,Redis的安装与部署 解决依赖包:</p> <pre><code class="language-bash">yum install -y tcl</code></pre> <h4>1、从官网下载redis安装包</h4> <p>首先上官网下载Redis 压缩包,地址:<a href="http://redis.io/download">http://redis.io/download</a> 下载稳定版3.0.7即可。 #我下载的是redis 5.0.7</p> <h4>2、上传并解压redis安包装</h4> <p>通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作</p> <pre><code class="language-bash">tar -zxvf redis-5.0.7.tar.gz</code></pre> <h4>3.执行make 对Redis解压后文件进行编译</h4> <pre><code class="language-bash">cd redis-5.0.7 make make test</code></pre> <p>make test执行完成之后,可以看到解压文件redis-5.0.7中会有对应的src文件夹和redis.conf文件,这和windows下安装解压的文件一样,大部分安装包都会有对应的类文件、配置文件和一些命令文件。如下图: <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/0179cc363e8cd89d345b71a10a36bc35?showdoc=.jpg" alt="" /></p> <h4>4.make install 进行redis安装</h4> <p>make test成功后,进入src文件夹,执行make install进行Redis安装。</p> <pre><code class="language-bash">cd ./src make install prefix=/usr/local/</code></pre> <p>本人指定安装路径:make install PREFIX=安装目录(/usr/local/), 完成安装的,会在安装目录下生成一个bin目录,bin目录下包含如下可执行文件: <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/a0ea71674ce4d255ea2e34de42e2e473?showdoc=.jpg" alt="" /> 安装完成后的提示界面如下: <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/894fd79c43d74fdd136715cc39709127?showdoc=.jpg" alt="" /></p> <h3>三、Redis的部署</h3> <p>安装成功后,下面对Redis 进行部署</p> <h4>1.将Redis文件中的conf配置文件和常用命令移动到统一文件中</h4> <p>首先为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中</p> <h5>1.1 创建bin和redis.conf文件</h5> <p>复制代码代码如下:</p> <pre><code class="language-bash">mkdir –p /usr/local/redis/bin mkdir –p /usr/local/redis/etc</code></pre> <h5>1.2 执行Linux文件移动命令:</h5> <p>复制代码代码如下:</p> <pre><code class="language-bash">mv /opt/workdir/redis-5.0.7/redis.conf /usr/local/redis/etc cd /opt/workdir/redis-5.0.7/src mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin</code></pre> <p>说明: 4.0.10后没有redis-check-dump文件。 如果/usr/local/bin目录下已经存在的文件,则可以不再复制。</p> <h4>2、执行Redis-server 命令,启动Redis 服务</h4> <p>执行启动命令</p> <pre><code class="language-bash">cd /usr/local/bin/ ./redis-server</code></pre> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/545fbd3cd9e443e278d697e5c0759477?showdoc=.jpg" alt="" /> 注意: 这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。</p> <h4>3、后台启动redis服务</h4> <h5>3.1.编辑conf文件,将daemonize属性改为yes(在后台运行)</h5> <pre><code class="language-bash">cd /usr/local/redis/etc vi redis.conf 将daemonize属性no改为yes</code></pre> <h5>3.2.再次启动redis服务,并指定启动服务配置文件</h5> <pre><code class="language-bash">/usr/local/bin/redis-server /usr/local/redis/etc/redis.conf</code></pre> <p>如下图: <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/8a852c8a1ca763d2b7b4fb8d922c0018?showdoc=.jpg" alt="" /> 查看端口: <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/8d3deca8e2e8fb7fd897c9350a986c8a?showdoc=.jpg" alt="" /></p> <h4>5.systemctl管理Redis启动、停止、开机启动</h4> <h5>5.1 创建服务</h5> <p>用service来管理服务的时候,是在/etc/init.d/目录中创建一个脚本文件,来管理服务的启动和停止,在systemctl中,也类似,文件目录有所不同,在/lib/systemd/system目录下创建一个脚本文件redis.service,里面的内容如下:</p> <pre><code class="language-bash">[Unit] Description=Redis After=network.target [Service] ExecStart=/usr/local/bin/redis-server /usr/local/redis/etc/redis.conf --daemonize no ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown [Install] WantedBy=multi-user.target </code></pre> <h5>5.2. 创建软链接</h5> <p>创建软链接是为了下一步系统初始化时自动启动服务</p> <pre><code class="language-bash">ln -s /lib/systemd/system/redis.service /etc/systemd/system/multi-user.target.wants/redis.service</code></pre> <p>如果创建软连接的时候出现异常,不要担心,看看/etc/systemd/system/multi-user.target.wants/ 目录是否正常创建软链接为准,有时候报错只是提示一下,其实成功了。</p> <h5>5.3. 刷新配置</h5> <p>刚刚配置的服务需要让systemctl能识别,就必须刷新配置</p> <pre><code class="language-bash">systemctl daemon-reload</code></pre> <h5>5.4. 启动、重启、停止</h5> <p>redis服务加入开机启动</p> <pre><code class="language-bash">systemctl enable redis</code></pre> <p>禁止开机启动</p> <pre><code class="language-bash">systemctl disable redis</code></pre> <h5>5.6. 查看状态</h5> <pre><code class="language-bash">systemctl status redis</code></pre> <h5>5.7 启动redis</h5> <pre><code class="language-bash">systemctl start redis</code></pre>

页面列表

ITEM_HTML