1. 每一个服务都需要有一个 ip 地址。
2. 并且都需要有一个门 ,也就是端口。
3.每个服务都需要遵守一个协议,就像法规。
那么每个服务是怎样去体现的呢?
就是 这个服务 有没有开启, 在哪里开启的?
linux中使用 守护进程体现。
守护进程一旦开启之后就会一只等着,请求过来。
就好像饭店开门之后,就一直等着, 有人来就为这个人提供服务。
红帽5、6 使用systemV, 特殊守护进程pid==1 叫init 。 启动时是串行启动的。
一个一个的按照顺序将程序启动起来。所以很慢。
红帽7 使用systemd 启动。 速度超快的。
独立服务
采用systemd管理,服务独立的运行再内存中,服务响应速度快。但是占用更多的内存。
独立服务实时的处于监听的状态。
相关路径:
我们的服务 是由 systemd 来管理的。 而他将所有服务的启动脚本都放在了: /usr/lib/systemd/system 中。
使用 systemctl 进行管理服务:
systemctl [command] [unit]
command主要的:
start 立刻启动后面接的unit
stop 立刻关闭后面接的unit
restart 立刻关闭后面接的 unit.(就是执行stop)然后重启
reload 不关闭 unit 的情况下, 重新载入配置文件,让设置生效
enable 设置下次开机时, 后面接的unit 自动的启动
disable 设置下次开机时,后面接的 unit 不会被启动。
status 目前后面接的这个 unit 的运行状态, 会列出有没有正在执行,是否开机自启等信息
is-active 目前有没有正在运行中。
is-enabled 开机时有没有默认要启动这个 unit
kill 这个只是向,运行 unit 的进程发送信号。
show 列出 unit 的配置
mask 注销 unit , 注销之后就无法启动这个 unit 了
unmask 取消对 unit 的注销。
非独立服务
xinetd 超级进程守护进程和守护进程。
xinetd 服务本身独立存在,管理一些服务。 用户通过xinetd服务,请求其管理一些服务,然后xinetd返回请求服务的回复给用户, 相当于中介\代理。
xinetd 服务的主配置文件: /etc/xinetd.conf
用于存放被托管的服务的目录: /etc/xinetd.d/
部署 非独立服务:
yum -y install telnet-server telnet xinetd
# 这一步安装了三个东西 telnet-server 服务, telnet 客户端, xinetd
用户通过 telnet 链接 xinetd。 xinetd 找到对应 telnet-server。 最后的结果通过telnet客户端返回给用户。
下载完之后 /etc/xinetd.d 下有些默认的。不要动。 vim 一个文件 telnet 添加以下的配置。
安全选项:
[root@python ~] # systemctl xinetd start # 启动xinetd 而不是 telnet。
xinetd 使用的是 23 端口。 netstat -ntpl 可以查看服务端口的信息。
要注意一点, xinetd 服务是不能使用 root 用户登录的。