Linux服务管理-慕课网Tony老师
重点
1.查看已启动的软件:netstat -an 查看所有端口,查看已连接端口 ;netstat -tulnp 查看已开启的监听状态的端口
2.rpm安装软件查看:chkconfig –list;启动:service httpd start|stop|restart|status;
自启动:chkconfig [–level] [2345] [独立服务名] [on|off]
3.源码包安装软件:a.启动脚本放在/etc/init.d/ (/etc/init.d 是 指向 /etc/rc.d/init.d 的软链接);b.启动service httpd start|stop|restart|status
自启动:将启动命令追加到文件末尾即可。或 chkconfig 命令:chkconfig --add mysqld;chkconfig mysqld on
systemctl融合service和chkconfig功能
systemctl的使用例如
# 开启服务 :systemctl start sshd.service
# 设置开机启动 :systemctl enable sshd.service
# 本质上是建立一个软链接 ln -s /usr/lib/systemd/system/sshd.service /etc/systemd/system/multi-user.target.wants/sshd.se
系统运行级别
runlevel 查看运行级别;init num 设置运行级别 运行级别含义
0 关机
1 单用户模式,可以想象为安全模式,主要用户系统修复
2 不完全的命令行模式
3 完全的命令行模式,标准字符界面
4 系统保留
5 图形模式
6 重启动
修改默认运行级别传统方式是更改/etc/inittab文件。但是在Centos7中,该文件的内容:
[root@localhost ~]# init 3
[root@localhost ~]# runlevel
5 3
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main tar
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
表示该文件已经不起作用,可以使用命令方式修改:
multi-user.target: runlevel 3
graphical.target: runlevel 5
使用 systemctl get-default 获取默认级别。
使用 systemctl set-default TARGET.target 设置默认级别
[root@localhost etc]# systemctl get-default #获得默认运行级别:
graphical.target
[root@localhost etc]# systemctl set-default multi-user.target #设置默认运行级别为字符界面:
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/syste
查看自启动状态
chkconfig –list 查看服务自启动状态,可以看到所有RPM包安装的服务
[root@localhost rc.d]# chkconfig --list
NetworkManager 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
abrt-ccpp 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
abrtd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
acpid 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
atd 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭
auditd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
autofs 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭
查看已启动的软件
netstat -an 查看所有端口,查看已连接端口
netstat -tulnp 查看已开启的监听状态的端口
rpm如何启动软件
通过绝对路径启动(标准启动方式)
/etc/init.d/httpd start
/etc/rc.d/init.d/httpd start
service 命令启动(rethat系统专有命令)
service httpd start|stop|restart|status
设置自启动状态
chkconfig [–level] [2345] [独立服务名] [on|off]
[root@localhost rc.d]# chkconfig --level 2345 httpd on
[root@localhost rc.d]# chkconfig --list | grep httpd
httpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
修改/etc/rc.d/rc.local 文件:
系统启动时会最后执行文件中的内容,可以加上启动特定服务的命令。最后执行
的文件。(shell基础知识,全局变量开机启动顺序)
1、设置环境变量的脚本,可以放在profile.d目录下面,但开机执行任务不应该放在profile.d目录下,因为每次登陆都会执行profile.d目录下的文件,会导致重复执行;
2、设置开机启动任务,应该放在rc.local中执行,它只会在系统启动时执行一次。
bash shell处理文件的顺序如下:
- /etc/profile #常见的环境变量PATH、HOME、MAIL、SHELL、HISTSIZE
- /etc/profile.d/ #目录,应用程序所需的启动脚本
- $HOME/.bash_profile
- $HOME/.bash_login
- $HOME/.profile
- $HOME/.bashrc #交互式非登录shell执行脚本,设置alias,解释你的意图
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
# 自启动命令
/etc/init.d/httpd start
ntsysv [级别号] 图形化工具,作用和chkconfig相同。
chkconfig 和 ntsysv 做出的更改会同步,但是在rc.local文件中做出的修改,在chkconfig中无法
查看到
源码包的自启动
更改 /etc/rc.d/rc.local 文件
将启动命令追加到文件末尾即可。 chkconfig 命令不能识别源码包服务。
让源码包被service识别
将源码包的启动脚本复制到init.d目录下,改脚本需要能接受相关参数,比如start|stop等
让源码包的服务能被chkconfig 与ntsysv命令管理
- 在init.d 目录下的脚本中起始处添加 # chkconfig: 35 86 76
chkconfig: 运行级别 启动顺序 关闭顺序 (/etc/rc3.d/)
- 在脚本中添加 # description: ..
说明, 内容随意
chkconfig --add 脚本名称 将init.d下的启动脚本加入chkconfig到命令
xinetd守护进程......
systemctl融合service和chkconfig功能
systemctl的使用例如
# 开启服务
systemctl start sshd.service
# 设置开机启动
systemctl enable sshd.service
# 本质上是建立一个软链接 ln -s /usr/lib/systemd/system/sshd.service /etc/systemd/system/multi-user.target.wants/sshd.se