liunx(四).Linux命令之service和systemctl

目录:

  1. 作用:都是用来管理Linux服务的
  2. 不同点:systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。systemd对应的进程管理命令是systemctl
  3. 用法
    1. service的用法:
      以启动Redis为例:service redis start
    2. systemctl的用法:(本文着重讲解),systemctl命令兼容了service( 所以能用service执行的,就能用systemctl执行)
      systemctl redis start
  4. 哪些服务可以用这两个命令?
    通过yum安装的服务可以使用这两个命令;手动上传解压安装的服务不能使用这两个命令。
    例如:redis是通过yum安装,我们在/usr/lib/systemd/system目录就能看到如下文件,启动、停止、重启、查看状态都可以通过此文件实现
  5. 原理
    systemctl命令的实质是管理和操作systemd下的Unit:
    systemd的Unit目录:
    Centos:/usr/lib/systemd/system
    Ubuntu:/etc/systemd/system
    linux中systemctl详细理解及常用命令_skh2015java的博客-CSDN博客_systemctl
  6. 常用命令
  7. 手写一个systemctl命令管理nginx

一. 常用命令

原文地址:RHEL 6 和 RHEL 7 的一些区别_大漠知秋的小秘密-CSDN博客

二.手写一个systemctl命令管理nginx

方式一:

第一步:/usr/lib/systemd/system目录创建nginx.service

第二步:vi /usr/lib/systemd/system/nginx.service
注意:我将nginx安装在/usr/local/nginx目录下

#配置文件内容
[Unit]                                          
Description=nginx 
After=network.target 
 
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx 
ExecReload=/usr/local/nginx/sbin/nginx -s reload 
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true 
 
[Install] 
WantedBy=multi-user.target

第三步:启动即可:systemctl start nginx

关闭:systemctl stop nginx

centos7中设置nginx的systemctl启动方式_liangkk的博客-CSDN博客

Linux服务开机自启动使用示例

Linux服务开机自启动使用示例 - 迪米特 - 博客园

方式二:Linux下设置Nginx开机自启 - Mr-Qiang - 博客园 
不知咋回事,一直没成功,但是可以通过systemctl start nginx 启动

猜你喜欢

转载自blog.csdn.net/yiguang_820/article/details/120367009