centos 开机启动服务

一、启动脚本 /etc/rc.local 启动

    最简单的一种方式,在启动脚本 /etc/rc.local (其实 /etc/rc.local 是/etc/rc.d/rc.local 的软链接文件,实际的脚本文件为 /etc/rc.d/rc.local)中添加要启动的程序。当然需要注意将 /etc/rc.d/rc.local 和 /etc/rc.local 添加启动权限。 
    这种方式虽然简单,但是并不能保证程序在其依赖的系统服务之后启动,所以有可能会启动不成功。

二、编写启动服务.service

    centos支持为自定义的服务编写service文件。centos系统服务脚本目录:/usr/lib/systemd。有系统(system)和用户(user) 之分,如需要开机没有登录的情况下就能运行的程序,存在系统服务里/lib/systemd/system/;反之,需要用户登录之后才能运行的程序,存在用户里/lib/systemd/user/,服务以 .service 结尾。

以ngix 开机运行为例: 
1. 建立服务文件 
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  

 

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

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

[Install]服务安装的相关设置,可设置为多用户

2.保存目录 
以754的权限保存在目录 /lib/systemd/system 中。

3. 设置开机自启动 
systemctl enable nginx.service

其他相关命令

任务旧指令新指令
使某项服务自启动chkconfig --level 3 httpd onsystemctl enable httpd.service
使某项服务不自启动chkconfig --level 3 httpd offsystemctl disable httpd.service
检查服务状态serivce httpd statussystemctl status httpd.service
显示已经启动的服务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服务
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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值