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

news/2024/7/19 9:53:16 标签: python, java, 爬虫, 开发语言, 1024程序员节

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

一、教程

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

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

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

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

    这将使用 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  # 在多用户模式下启动
    

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

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

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

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

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

    sudo systemctl enable nginx
    

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

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

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

sudo systemctl is-enabled nginx

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

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

二、原理

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

sudo systemctl enable nginx

这个命令实际上在系统的 /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


http://www.niftyadmin.cn/n/5191765.html

相关文章

Spring IOC - 推断构造方法

一、前言 上文解析了Bean生命周期的实例化阶段,其中bean真正开始实例化的核心代码位于方法AbstractAutowireCapableBeanFactory#createBeanInstance中,这里也是spring推断构造方法的核心所在。 二、整体介绍 首先看下方法的源码及注释如下,下…

一文带你了解QT Model/View框架的设计思想和实现机制

目录 1、QT Model/View框架简介 1.1、QT Model/View是什么? 1.2、QT Model/View框架核心思想 1.3、Model/View框架工作机制 1.4、Model/View框架的类 2、Model 2.1模型简介 2.2、模型索引 2.3、数据角色 2.4、QStringListModel 2.5、QFileSystemModel 2…

一次显著的接口性能优化,从10s优化到0.9s

最近在登录项目后台的时候,发现当我输入账号和密码后,竟然就卡在了 Loading 页面。。 加载了10S才进后台 等了足足 10S 才进去后台! 通过 F12,打开 Network 网络请求一看,竟然是因为有两个接口返回的数据太慢了&#…

22款奔驰S450L升级流星雨大灯 感受最高配的数字大灯

“流星雨”数字大灯,极具辨识度,通过260万像素的数字微镜技术,实现“流星雨”仪式感与高度精确的光束分布;在远光灯模式下,光束精准度更达之前84颗LED照明的100倍,更新增坡道照明功能,可根据导航…

nvm下载NodeJs失败解决办法

1、默认下载nvm需要把Nodejs先卸载了,去你安装的地址删除,C盘或者D盘中的(Nodejs),还有“C:\Users\AppData\Local”的node和npm删除,删除成功后。重新安装nvm。 2、如果你删除不干净,最坏的方案…

go zero手把手教你入门案例

一、入门案例 1、在黑窗口上安装 go install github.com/zeromicro/go-zero/tools/goctllatest2、使用goland创建一个项目 3、在项目中安装依赖 go get -u github.com/zeromicro/go-zerolatest4、模拟创建一个user的项目 goctl api new user5、安装依赖包 go mod tidy6、补充代…

SpringBoot实现SSE构建实时数据单向推送

SSE 是一种单向通信,只允许服务器向客户端发送数据。客户端无法向服务器发送数据。SSE 建立在 HTTP 协议之上,使用标准 HTTP 请求和响应。SSE 不需要额外的库或协议处理,客户端可以使用浏览器的原生 EventSource API 来接收数据。SSE 支持跨域…

vulnhub靶机Momentum

下载地址:https://download.vulnhub.com/momentum/Momentum.ova 主机发现 目标192.168.21.129 端口扫描 端口版本扫描 漏洞扫描 扫出来点目录简单看看 发现js里面有一点东西 这里面告诉了我们了web文件有id传值,而且有aes加密还有密钥 跟二没有啥区别&…