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

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native