centos(12)-systemctl服务管理

window每次开机时会自动开启一些服务,还可以把自己的程序注册为服务,在centos中也是一样。

daemon守护进程

当一个服务开启的时候,会启动一个程序,这个程序是在后台执行的,不会影响当前界面。所以表面上开启了一个服务,实际上是执行了一个程序,这个程序在linux中就被称为守护进程daemon。在linux中用过mysql的人应该对mysqld不会陌生,结尾的那个d就是daemon,即mysql的守护进程。所以当你看到某个程序名字结尾,有一个莫名的d,多半就是daemon,比如下面的sshd。

systemctl命令

systemctl status sshd:查看sshd服务的状态,如下图:

第二行:/usr/lib/systemd/system/sshd.service是服务的配置文件,后面会讲。文件后面的enabled表示开机启动,如果是disabled则不启动。

第三行:running指正在运行中,如果是dead指没有运行,也不会是绿色,也没有后面的启动时间和启动信息。


systemctl start sshd:立即启动sshd服务。
systemctl stop sshd:立即停止sshd服务。
systemctl restart sshd:立即重启sshd服务。
systemctl enable sshd:以后开机时启动sshd服务。
systemctl disable sshd:以后开机时不启动sshd服务。

注意:如果你把sshd服务stop掉,将无法再用putty连接服务器,但已经连上的putty不会掉线。

unit文件

上面说到每个服务有一个配置文件,它也是unit文件。unit有多种类型,这里只讨论service类型,即系统服务。

systemctl list-unit-files |grep ssh:查看当前系统中,名字包含ssh的所有unit文件列表。红框中就是远程连接的ssh服务,.service后缀即指service类型,红框右边的enabled指开机启动,disabled指开机不启动。图中还有个static,指依赖其他服务唤醒才能启动。


systemctl list-units |grep ssh:查看所有运行中的,名字中包括ssh的unit。如下图,现在只有sshd.service在运行。


安装配置服务

安装服务实际上就是在/usr/lib/systemd/system/目录创建一个.service后缀的unit文件。比如上面说的/usr/lib/systemd/system/sshd.service,有兴趣可以用cat命令查看,其内容这里不讨论。我只讲一个最简配置,以tomcat为例,现在创建/usr/lib/systemd/system/tomcatd.service文件,配置如下:

[Service]
Type=forking
ExecStart=/home/wb/pro/tomcat/bin/startup.sh
User=wb

[Install]
WantedBy=multi-user.target
Type=forking:Type是设置启动方法,fork是什么参考11篇,大多数程序都是以fork的方式启动。注意:spring boot项目的Type=simple,即简单方式,如果不配置Type默认就是simple。因为spring boot项目不是程序,只是一个jar包。所以不是以fork子进程的方式来启动,而是以java -jar命令直接启动。

ExecStart:指定启动程序,即tomcat的startup.sh,sh是shell脚本,相当于window中的startup.bat文件。另外,我用root安装了java环境。

User:设置以wb用户的身份启动tomcat,如果不设置User默认是root。区别就在于程序运行期间,会生成一些日志以及数据文件,这些文件的权限拥有者就是这个User设置的用户。

WantedBy=multi-user.target:可以理解为指定开机时启动这个服务,我们自己安装的程序基本上都要配这个。上面讲的static服务,就是没有配置[Install]下的内容,所以无法开机自启动,需要被唤醒。

开启服务

systemctl daemon-reload:当修改过服务的配置文件后,需要执行这个命令重载配置。之后enable设置开机启动,start立即开启。tomcatd.service就是配置文件名,这里可以省略.service后缀。

注意:此时在window中访问虚拟机 ip:8080,看不到tomcat首页,因为8080端口被默认的防火墙拦截了。下篇会介绍防火墙

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值