CentOS7源码安装Redis及配置系统服务
Linux系统从CentOS7以后版本,系统服务管理全部是基于systemctl进行管理,与之前的版本发动比较大。自编译软件正常情况下无法通过systemctl命令进行启动,关闭或进行开机工作。但我们可以手动编写service配置文件,达到通过yum安装rpm一样的效果。本次以安装最新版本redis为例, 以下是操作步骤:源码下载从Redis官方网站下载源码包,下载地址为:http://downl
Linux系统从CentOS7以后版本,系统服务管理全部是基于systemctl进行管理,与之前的版本发动比较大。自编译软件正常情况下无法通过systemctl命令进行启动,关闭或进行开机工作。但我们可以手动编写service配置文件,达到通过yum安装rpm一样的效果。
本次以安装最新版本redis为例, 以下是操作步骤:
源码下载
从Redis官方网站下载源码包,下载地址为:http://download.redis.io/releases/redis-3.0.4.tar.gz
解压重命名
[root@localhost /] chmod +x redis-3.0.4.tar.gz
[root#localhost /] tar -zxvf[root@localhost /] mv redis-3.0.4 redis
编译安装
在安装前最好升级一下系统
[root@localhost /] yum upgrade
[root@localhost redis] cd /redis-3.0.4
[root@localhost reids] make && make install
Copy生成文件至指定目录
进入src目录,将编译生成文件及配置文件分别copy至/usr/local/bin
及/etc/redis.conf
。本次安装至/usr/local/bin
#删除源文件及目标文件以方便后续copy生成可执行文件
[root@localhost reids] rm -f src/*.c *.h *.o
#copy可执行文件至环境变量目录
[root@localhost redis] cp src/redis-* /usr/local/bin
#copy配置文件至系统配置文件目录,如果是集群安装,文件最好以端口作为文件名称
[root@localhost reids] cp redis.conf /etc/
至此,redis已经安装完成。
接下来是配置开机启动及将期添加至systemctl下进行管理
新增redis用户及组
//增加redis用户组
[root@localhost /]# groupadd 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用户组
增加服务
进入/usr/lib/systemd/system
目录,增加redis.service
文件,并添加如下内容
[Unit]
#描述信息
Description=Redis Server 3.0.4
#启动时机,开机启动最好在网络服务启动后即启动
After=network.target
[Service]
#此处为命令行启动redis的命令及参数,可参考官方文档
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
User=redis #运行reddis用户
Group=redis #所属组
[Install]
WantedBy=multi-user.target #字符界面下启动
测试服务
[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商品则表示已成功关闭
设置开机自启动
[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的软链接,删除即关闭开机启动
整个配置过程结束~~
更多推荐
所有评论(0)