您的位置:首页 > 数据库 > Redis

CentOS7下源码安装Redis系统服务配置

2015-12-27 20:57 811 查看
摘要: CentOS7下源码安装Redis系统服务配置

Linux系统从CentOS7以后版本,系统服务管理全部是基于systemctl进行管理,与之前的版本发动比较大。自编译软件正常情况下无法通过systemctl命令进行启动,关闭或进行开机工作。但我们可以手动编写service配置文件,达到通过yum安装rpm一样的效果。

本次以安装最新版本redis为例, 以下是操作步骤:

1. 从Redis官方网站下载源码包, 下载地址为: http://download.redis.io/releases/redis-3.0.4.tar.gz
2. 下载Redis源码

[root#localhost /] wget http://download.redis.io/releases/redis-3.0.4.tar.gz[/code]
3. 解压并重命名

[root@localhost /] chmod +x redis-3.0.4.tar.gz
[root#localhost /] tar -zxvf[root@localhost /] mv redis-3.0.4 redis

4.编译安装,在安装前最好升级一下系统

 [root@localhost /] yum upgrade
[root@localhost redis] cd /redis-3.0.4
[root@localhost reids] make && make install

5. Copy生成文件至指定目录

进入src目录,将编译生成文件及配置文件分别copy至/usr/local/bin及/etc/redis.conf。本次安装至/usr/local/bin

[root@localhost reids] rm -f src/*.c *.h *.o   //删除源文件及目标文件以方便后续copy生成可执行文件

[root@localhost redis] cp src/redis-* /usr/local/bin   //copy可执行文件至环境变量目录
//copy配置文件至系统配置文件目录,如果是集群安装,文件最好以端口作为文件名称
[root@localhost reids] cp redis.conf /etc/

至此,redis已经安装完成,接下来是配置开机启动及将期添加至systemctl下进行管理

6. 新增redis用户及组

[root@localhost /]# groupadd redis      //增加redis用户组
[root@localhost /]# useradd -c Redis Server -s /sbin/nologin -d /var/lib/redis -g redis -G root reids参数解释:
-c  用户描述信息
-s 用户执行脚本,此处为安全考虑,redis用户是不允许远程登录,故使用/sbin/nologin
-d 用户home目录,此处无需在/home目录下创建redis子目录,故将其定位于/var/lib/redis空目录中
-G 扩展用户组,即表示此用户同时属于root用户组

7. 增加服务

进入/usr/lib/systemd/system目录,增加redis.service文件,并添加如下内容

[Unit]
Description=Redis Server 3.0.4   //描述信息
After=network.target     //启动时机,开机启动最好在网络服务启动后即启动
[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis.conf --daemonize no  //此处为命令行启动redis的命令及参数,可参考官方文档
ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown   //停止redis服务器命令
User=redis         //运行reddis用户
Group=redis        //所属组
[Install]
WantedBy=multi-user.target    //字符界面下启动

8.测试服务

[root@localhost /]# systemctl status redis.service
redis.service - Redis Server 3.0.4
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled)
Active: active (running) since 一 2015-09-14 16:06:35 CST; 53min ago
Main PID: 17604 (redis-server)   CGroup: /system.slice/redis.service
└─17604 /usr/local/bin/redis-server *:6379
9月 14 16:06:35 localhost.localdomain systemd[1]: Started Redis Server 3.0.4.

[root@localhost /]# systemctl stop redis.service   //停止服务后查看端口或进行状态
[root@localhost /]# netstat -ntlp  //如果没有6379商品则表示已成功关闭

9.设置开机自启动

[root@localhost /]# systemctl enable redis.service      //设置开机启动
ln -s '/usr/lib/systemd/system/redis.service' '/etc/systemd/system/multi-user.target.wants/redis.service'
[root@localhost /]# systemctl disable redis.service      //关闭开机启动
rm '/etc/systemd/system/multi-user.target.wants/redis.service'//开机启动即为创建一个指向multi-user.target.wants的软链接,删除即关闭开机启动
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Redis CentOS7 systemctl