CentOS 7.x设置自定义开机启动,添加自定义系统服务

Centos 系统服务脚本目录:

/usr/lib/systemd/  
有系统(system)和用户(user)之分,

如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:

lib/systemd/system/  
反之,用户登录后才能运行的程序,存在用户(user)里

服务以.service结尾。

这边以nginx开机运行为例 IT

1.建立服务文件

vim /lib/systemd/system/nginx.service 
[Unit]  
Description=nginx  
After=network.target  
   
[Service]  
Type=forking  
ExecStart=/www/lanmps/init.d/nginx start  
ExecReload=/www/lanmps/init.d/nginx restart  
ExecStop=/www/lanmps/init.d/nginx  stop  
PrivateTmp=true  
   
[Install]  
WantedBy=multi-user.target 

[Unit]:服务的说明

Description:描述服务
After:描述服务类别

[Service]服务运行参数的设置

Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户 Linux学习,http:// linux.it.net.cn

2.保存目录

以754的权限保存在目录:

/lib/systemd/system

3.设置开机自启动

systemctl enable nginx.service

4.其他命令

任务旧指令新指令
使某服务自动启动chkconfig --level 3 httpd  on             systemctl enable httpd.service
使某服务不自动启动chkconfig --level 3 httpd offsystemctl disable httpd.service
检查服务状态service httpd statussystemctl status httpd.service (服务详细信息)  
systemctl is-active httpd.service (仅显示是否 Active)
显示所有已启动的服务chkconfig --listsystemctl list-units --type=service
启动某服务service httpd startsystemctl start httpd.service
停止某服务service httpd stopsystemctl stop httpd.service
重启某服务service httpd restartsystemctl restart httpd.service
启动nginx服务   I
systemctl start nginx.service

设置开机自启动

systemctl enable nginx.service
停止开机自启动

systemctl disable nginx.service
查看服务当前状态

systemctl status nginx.service
重新启动服务

systemctl restart nginx.service 
查看所有已启动的服务
systemctl list-units --type=service






  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7 开机启动文件路径有两个目录,一个是 `/etc/rc.d/rc.local`,另一个是 `/usr/lib/systemd/system/`。其中,`/etc/rc.d/rc.local` 是传统的 SysV init 脚本,而 `/usr/lib/systemd/system/` 是 systemd 的服务配置文件路径。 下面是最详细的 CentOS 7 设置自定义开机启动服务教程: 1. 创建服务脚本文件 在 `/etc/systemd/system/` 目录下创建一个新的服务脚本文件。文件名需要以 `.service` 结尾,并且文件名应该描述清楚服务的作用。例如,如果你要创建一个开机自动启动的 Nginx 服务,可以将服务脚本文件命名为 `nginx.service`。 2. 编写服务脚本 打开服务脚本文件,开始编写服务脚本。以下是一个简单的示例: ``` [Unit] Description=My Service After=network.target [Service] Type=simple ExecStart=/path/to/my/script.sh Restart=on-failure [Install] WantedBy=multi-user.target ``` 其中,`[Unit]` 区块定义了服务的基本信息,包括服务的描述和启动顺序。`[Service]` 区块定义了服务的具体实现,包括服务类型、服务启动命令和重启策略。`[Install]` 区块定义了服务的安装信息,包括服务启动级别。 3. 重新加载 systemd 配置 使用 `systemctl daemon-reload` 命令重新加载 systemd 配置文件。 ``` sudo systemctl daemon-reload ``` 4. 启动服务 使用 `systemctl start` 命令启动服务。 ``` sudo systemctl start myservice ``` 5. 设置开机启动 使用 `systemctl enable` 命令设置服务开机启动。 ``` sudo systemctl enable myservice ``` 以上就是 CentOS 7 设置自定义开机启动服务的详细步骤。需要注意的是,服务脚本文件中的路径信息需要根据实际情况修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值