• centos7添加开机自启案例及原理


    centos7添加开机自启案例及原理

    一、教程

    使用 Vim 编辑器来创建和编辑 Nginx 的 systemd service 文件以及设置它开机自启动时,你可以按照以下步骤操作:

    步骤 1:创建 Nginx 的 .service 文件

    1. 打开终端并使用 Vim 编辑器创建 Nginx 的 .service 文件:

      sudo vim /etc/systemd/system/nginx.service
      
      • 1

      这将使用 Vim 编辑器打开一个新文件。

    2. 进入插入模式,按下 i 键,并添加以下内容:

      [Unit]
      Description=The NGINX HTTP and reverse proxy server  # 服务的描述信息
      After=network.target remote-fs.target nss-lookup.target  # 在以下目标之后启动服务
      
      [Service]
      Type=forking  # 服务类型为 fork 模式,适用于 NGINX
      ExecStartPre=/usr/local/nginx/sbin/nginx -t  # 在启动之前检查配置文件的语法是否正确
      ExecStart=/usr/local/nginx/sbin/nginx  # 启动 NGINX 服务的命令
      ExecReload=/usr/local/nginx/sbin/nginx -s reload  # 重新加载配置的命令
      ExecStop=/usr/local/nginx/sbin/nginx -s quit  # 停止 NGINX 服务的命令
      PrivateTmp=true  # 使用私有的临时文件系统
      
      [Install]
      WantedBy=multi-user.target  # 在多用户模式下启动
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14

      这是一个典型的 Nginx systemd service 文件。确保根据你的 Nginx 安装路径进行必要的更改。

    3. 退出插入模式,按下 Esc 键。

    4. 输入 :wq 并按下 Enter,以保存文件并退出 Vim 编辑器。

    步骤 2:添加 Nginx 的开机自启动

    1. 通过以下命令启用 Nginx 服务开机自启动:

      sudo systemctl enable nginx
      
      • 1

      这会将 Nginx 添加到系统启动服务列表中,从而在系统启动时自动启动 Nginx。

    步骤 3:查看 Nginx 的开机自启动状态

    要查看 Nginx 是否已成功设置为开机自启动,可以使用以下命令:

    sudo systemctl is-enabled nginx
    
    • 1

    如果输出结果为 enabled,则表示 Nginx 已成功设置为开机自启动。

    现在,你已经成功使用 Vim 编辑器创建了 Nginx 的 systemd service 文件,将它设置为开机自启动,并查看了 Nginx 的开机自启动状态。Nginx 将在系统启动时自动启动。如果需要进一步管理 Nginx 服务,可以使用 systemctl 命令来启动、停止、重启和查看服务的状态。

    二、原理

    通过执行以下命令将Nginx服务添加到系统的启动服务列表中:

    sudo systemctl enable nginx
    
    • 1

    这个命令实际上在系统的 /etc/systemd/system 目录下创建了一个符号链接(symbolic link)到Nginx服务单元文件(nginx.service)。这个符号链接位于/etc/systemd/system 目录下的 multi-user.target.wants 子目录中。

    系统启动时,Systemd初始化系统管理的服务。当它启动到指定的 target(例如multi-user.target)时,会检查该 target 下的 wants 子目录中的服务,并自动启动这些服务。因此,通过在 multi-user.target.wants 子目录中创建符号链接,Systemd会在启动到multi-user.target时自动启动Nginx服务。

    这就是为什么执行 sudo systemctl enable nginx 命令可以实现开机自启的原因。Systemd会根据服务配置文件中的信息,将服务添加到启动目标中,从而在系统启动时自动启动该服务。这个过程使得管理开机自启动服务非常方便。

    查看是否开启开机自启

    systemctl list-unit-files --type=service | grep enabled |grep nginx
    
    
    • 1
    • 2
  • 相关阅读:
    安全测试之w3af 安装
    java毕业设计宠物用品交易网站Mybatis+系统+数据库+调试部署
    文献管理软件Zotero之入门篇(1)
    Python经典习题(一)
    事业观、金钱观与幸福观
    手机能做静态二维码吗?用手机做二维码的教程
    leetcode记录(一)
    QUIC协议
    【Kali安全渗透测试实践教程】第6章 密码攻击
    springboot 查询count分页 效率问题
  • 原文地址:https://blog.csdn.net/weixin_52236586/article/details/134476217