0
点赞
收藏
分享

微信扫一扫

24.8.4(主席树,递推求组合数,警钟长鸣)

逸省 2024-08-05 阅读 32

用yum安装的软件(比如nginx)可以直接使用systemctl来管理 ,但是如果是源码安装的,无法使用systemctl来管理。

systemctl管理的原理:

1、我们在/usr/lib/systemcd/system下有各种.service文件

也就是说,要想被systemctl管理,就要在/usr/lib/systemd/system目录下,该软件就必须要在这个目录下创建这样一个.service文件。

2、我们以niginx为例,系统自带的nginx软件,在/usr/lib/systemd/system目录下有nginx.service文件

我们cat nginx.service看看里面的内容(cat sshd.service里面的内容,也大体一致):

[Unit]
Description= mynginx service(服务描述)
After=network-online.target(我这个服务在network-online启动之后启动) remote-fs.target nss-lookup.target(可加可不加)
Wants=network-online.target(可以不要)

[Service]
Type=forking(默认,用forking来启动我的进程)
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t(运行start命令)
ExecStart=/usr/sbin/nginx (运行start命令)
ExecReload=/usr/sbin/nginx -s reload (运行reload命令)
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target(在哪个运行级别)

3、我们以nginx为例,创建mynginx.service文件

cd /usr/lib/systemd/system

vim mynginx.service

[Unit]
Description= mynginx service(服务描述)
After=network-online.target(我这个服务在network-online启动之后启动)

[Service]
Type=forking(默认,用forking来启动我的进程)
ExecStart=/usr/local/nginx/sbin/nginx (运行start命令)
ExecStop=/usr/local/nginx/sbin/nginx -s stop (运行stop命令)
ExecRestart=/usr/local/nginx/sbin/nginx -s restart(运行restart命令)
ExecReload=/usr/local/nginx/sbin/nginx -s reload (运行reload命令)
[Install]
WantedBy=multi-user.target(在哪个运行级别)

 

举报

相关推荐

0 条评论