微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS 7.x自定义开机启动设置

一:概述


CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d/的启动脚本的方式就此改变,也大幅提高了系统服务的运行效率。但服务的配置和以往也发生了极大的不同。

CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,还是存在系统服务里吧,即:/usr/lib/systemd/system目录下,并且每一个服务以 .service 结尾。


Centos 系统服务脚本目录:

/usr/lib/systemd

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

/usr/lib/systemd/system


2. 开始配置

2.1 环境===>

1. 添加自启动服务为:uwsgi

2. 自启动脚本以经写好

3. 本人将开机自启动的脚本放在 /etc/init.d/目录下,并加执行权限


2.2 配置 ===>

一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install],我写的这个服务用于开机运行uwsgi项目,具体内容如下:

[root@tsingserver~]#cd/usr/lib/systemd/system
[root@tsingserversystem]#vimuwsgid.service
[Unit]
Description=uwsgid
After=network.target

[Service]
Type=forking
ExecStart=/etc/init.d/uwsgidstart
ExecReload=/etc/init.d/uwsgidrestart
ExecStop=/etc/init.d/uwsgidstop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

服务脚本按照上面编写完成后,以 754 的权限保存在/usr/lib/systemd/system目录下

[root@tsingserversystem]#chmod754uwsgid.service


配置文件解释如下:

[Unit] ===> 服务的说明

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

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

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

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

--------------------------------------------------------------------------------

3. 设置开机自启动


systemctlenableuwsgid.service


4. 其他命令

以下以httpd服务为例

任务 旧指令 新指令
使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service
使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service
检查服务状态 service httpd status

systemctl statushttpd.service

<== 服务详细信息

systemctl is-active httpd.service

<==显示是否 Active

显示所有已启动的服务 chkconfig --list systemctl list-units --type=service
启动某服务 service httpd start systemctl start httpd.service
停止某服务 service httpd stop systemctl stop httpd.service
重启某服务 service httpd restart systemctl restart httpd.service


启动Nginx服务

systemctlstartNginx.service

设置开机自启动

systemctlenableNginx.service

停止开机自启动

systemctldisableNginx.service

查看服务当前状态

systemctlstatusNginx.service

重新启动服务

systemctlrestartNginx.service

查看所有已启动的服务

systemctllist-units--type=service

参考博文:http://blog.csdn.net/yuanguozhengjust/article/details/38019923

http://www.centoscn.com/CentOS/config/2015/0507/5374.html

原文地址:https://www.jb51.cc/centos/379971.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。