Linux service administration.
说起windows 服务,大家都很熟悉,那现在很多服务都是部署在Linux下,这些服务怎管理,怎么把开发都服务设置为开机自启动,等问题值得我们思考。
Linux 服务分类
RPM 包 服务,标准的Linux服务包,安装的时候会把相应的文件放在常规的位置
源码包服务,就是我们自己开发的
查询已经安装的服务
1. 标准RPM包服务用这个,默认情况下查看不了源码包服务,也看不了native 服务(后面会说) chkconfig --list ,这个命令不适用,通常我们用
2 . 根据进程查看 ps -ef|grep xxx 来查看相应的进程。
3. 根据服务端口查看 netstat -tlunp 特朗普 查看启动的服务但是还未连接,比如在监听状态
TCP 类型的服务都有listing 状态,是因为需要三次握手
UDP类型的服务不管三七二十一,直接发送,能收到就收到,结果不保证
netstat -an, 想过滤家grep
RPM包服务启动与开机自启动
1. 启动:启动的本质不管是RPM包还是源码包服务,都是找到启动脚步的绝对路径
1.1使用/etc/init.d/ 目录中的脚步启动,比如 /etc/init.d/nginx start|stop|restart 推荐这个做法,RPM包都会在 rc.d/init.d 下安装启动脚本
rc.d/init.d 是和init.d 一个目录,历史上只有rc.d/init.d,但是考虑其方便,在/etc根目录建了个init.d 的软连接到rc.d/init.d ,软连接是天蓝色的。

1.2使用 service nginx start|stop|restart redhat 系列的linux 可用。
2. 开机自启动
2.1 修改/etc/rc.local 文件 vim /etc/rc.local 加入 /etc/init.d/nginx start
/etc/rc.d/rc.local 与 /etc/rc.local 也是软连接关系

2.2使用chkconfig 命令管理自启动,比如 chkconfig --level 2345 nginx on|off 2345 是linux 的7个模式的代号。0是关机,3是字符模式,5是图像模式,6 是重启。
源码包服务启动与开机自启动
启动: /usr/local/nginx/bin/nginxctl start 就是找路径
自启动:修改/etc/rc.d/rc.local 文件 加入 /usr/local/nginx/bin/nginxctl start
源码包服务被常规服务管理命令service识别
比如让源码包的apache 服务被 service 命令管理启动,service 默认会扫描 /etc/rc.d/init.d/ 目录下的启动脚本
In -s /usr/local/apache2/bin/apachectl /ect/init.d/apache
源码包服务被chkconfig 命令识别
1. vi /etc/init.d/apache 加入 # chkconfig :35 86 76
格式是: chkconfig: 运行级别 启动顺序 关闭顺序 (启动顺序和关闭顺序需要去系统查看,只要没冲突就行)
去哪里查? cd /etc/rc3.d 里面看K* 代表关闭顺序, s*代表 启动顺序,后面的数字就是顺序,不与她们现有的重复就行
2. chkconfig --add apache

浙公网安备 33010602011771号