一、简介与分类
1、简介与系统运行级别
查看运行级别:runlevel 第一个数字代表上一级别 第二个数字代表当前级别
2、服务的分类
rpm包服务分为:独立的服务,xinetd服务
前者顾名思义,独立的占有内存(说白就是一直在运行的),访问一到,自己马上响应
后者,就是这些服务由xinetd来管控,平时不运行,一有访问,先到xinetd,然后由xinetd去调用
注:现在xinetd服务越来越少
3、启动与自启动
服务启动与自启动,chkconfig--list查看的是自启动状态,启用说明下次开机的时候自动启动
服务启动:在当前系统中让服务运行,并提供功能
服务自启动:让服务在系统开机或重启之后,随着系统的启动而自动启动
4、服务与端口
tcp有65535个端口,udp也有65535个端口。一般一个app占用一个端口,如果是tcp(或udp)的端口,其对应的可另外一个udp(或tcp)也会同样被占用。
1w以内的端口是给系统的,1w以外的是给用户的。
tcp需要监听(三次握手)(LISTEN),而udp不需要监听,如果正在连接的话状态为(ESTABLED)。
(运用层--->传输层--->)网络层--->传输层--->运用层
实际干的事如下
具体运用要传送数据--->告诉传输层用什么形式传送数据---->通过ip寻址----->找到地址则开始传输数据(就是传输层干的活,分tcp和udp)---->把数据传给某个具体的运用(通过端口来传递)
注:传输层分tcp面向连接协议,udp用户数据报协议,说白就是一个要先建立连接在进行传送,然后还要维护该连接;一个拿来直接扔出去,不建立连接
查看系统的端口号的文件 /etc/services,里边详细列出了个端口号及对应的服务信息
查询系统中开启的服务,可以ps aux,也可以netstat -tlunp列出监听的服务,netstat -ap列出所有启动的服务
Ps:-a:列出所有的网络连接
二、RPM包服务管理
1、独立的服务管理
RPM包默认的安装位置
2、独立服务的启动
/etc/init.d/独立服务名 start | stop | status | restart
#启动|停止|查看状态|重启 独立服务
/etc/rc.d/init.d/mysqld status # 旧的目录
service 独立服务名 start | stop | status | restart
(只有RedHat系列的Linux支持service命令,源码包服务默认不支持service命令)
3、独立服务的自启动
方法一:chkconfig --list | grep mysqld #查看mysql的运行级别
chkconfig --level 2345 mysqld on #修改服务的运行级别,下次开机生效。
chkconfig mysqld off
方法二:修改/etc/rc.d/rc.local文件 :
vi /etc/rc.d/rc.local #/etc/rc.local 是软链接
/etc/init.d/独立服务名 start
方法三:使用ntsysv命令管理自启动
图形界面管理启动,和chkconfig 效果一样。
4、基于xinetd服务的管理
xinetd安装
yum -y install xinetd
rsync现有redhat的常规服务,作用是Linux与Linux之间数据备份同步用的
查该服务的端口:grep rsync /etc/service
上图中disable=no为重启xinetd服务重启后,就会启动rsync服务
独立服务:启动就是启动,自启动就是自启动
基于xinetd服务启动与自启动混为一谈,启动了也会自启动,自启动了也会启动
重启xinrtd服务:service xinetd restart
三、源码包服务管理
让源码包的apache服务能够被chkconfig 与 ntsysv命令管理自启动
vi /etc/init.d/apache
#chkconfig: 35 86 76
#指定httpd脚本可以被chkconfig命令管理 格式是chkconfig:运行级别 启动顺序 关闭顺序
#description : source package apache(bixujia)
#说明,内容随意
把这两句加到/etc/rc.d/init.d/apachetctl 保存
然后chkconfig - -add apache
/etc/rc3.d/下面的文件是运行级别3时 系统开启与关闭分别要执行的服务文件,启动顺序与关闭顺序不能和现有的冲突
四、总结