1 linux上的服务介绍
1.1 chkconfig命令
chkconfig命令可以用来检查、设置系统的各种服务语法:
chkconfig(选项)
选项
--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据;
--del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据;
--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。
等级代号列表:0123456
使用范例:
chkconfig --list 列出所有的系统服务
chkconfig --add redis 增加redis服务
chkconfig --del redis 删除redis 服务
chkconfig --level redis 2345 on 把redis在运行级别为2、3、4、5的情况下都是on(开启)的状态。
如果想查看当前处于运行状态的服务,用如下语句过滤即可
chkconfig --list |grep on
如果想查看当前处于关闭状态的服务,用如下语句过滤即可
chkconfig --list |grep off
1.2 服务的启动、关闭
设置成服务后,服务的启动办法
(a)、/etc/init.d/独立服务名start|stop|status|restart
/etc/init.d/nginx start
(b)、service独立服务名start|stop|status|restart
service nginx start
1.3 服务运行级别
Linux服务一般会有7个运行级别:等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
1.4 重要文件位置
/etc/ 配置文件位置
/etc/init.d/ 启动脚本位置
/etc/sysconfig/ 初始化环境配置位置
/var/lib 服务器产生的数据
/var/log 日志
2 nginx设置成服务并自启动
2.1 启动脚本
nginx的启动脚本可在https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/ 下载,
然后将文件保存在/etc/init.d/nginx
2.2 注册服务
chkconfig --add nginx2.3 启动服务
service nginx start3 redis设置成服务并自启动
3.1 启动脚本
将redis目录下的初始化脚本拷贝到/etc/rc.d/init.d(这里/etc/init.d/ 等价于/etc/rc.d/init.d/)目录下
redis的初始化脚本目录为:/usr/local/src/redis/utils/redis_init_script
cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/rc.d/init.d/redis
3.2 注册服务
chkconfig --add redis执行后,可能会遇到下面的错误:
redis服务不支持chkconfig
service redis doesnot support chkconfig
我们还需要对初始化脚本做一些修改。
(a)第二行增加如下内容#chkconfig: 2345 80 90
(b)原脚本EXEC和CLIEXEC的值因为目录不同而有所修改
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
(c)redis启动的命令改为以后台方式启动
$EXEC $CONF&
将redis配置文件拷贝到/etc/redis/端口ID.conf,如下所示:
mkdir /etc/redis
cp /usr/local/src/redis/redis.conf /etc/redis/6379.conf
通过上面的脚本修改后,我们可以再次使用下面的命令进行注册服务:
chkconfig --add redis
3.3 启动服务
service redis start4 mysql设置成服务并自启动
4.1 启动脚本
将服务文件拷贝到init.d下,并重命名为mysqldcp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld