centos7 添加自启

Posted zhanglw456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 添加自启相关的知识,希望对你有一定的参考价值。

方法一:通过脚本设置

1)

chmod +x /etc/rc.d/rc.local
  1. 在 /etc/rc.d/rc.local 中 添加需要自启的软件的启动命令,如:
/usr/local/tomcat8/bin/startup.sh   // 执行 tomcat 启动命令

方法二:通过配置系统服务来设置自启动

在CentOS 7中, 一些软件程序会在安装时自动创建服务, 比如Apache, php, mysql, nginx等等,
对于已经创建好的服务, 我们唯一要做的就是把服务设置成自启动就可以了,如:

systemctl enable mysqld  // mysql服务自启

systemctl status mysqld  // 查看服务状态

systemctl disable mysqld  // 取消自启

自己创建服务.
CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下.
CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install]

[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description 用于描述服务,After用于描述服务类

[Service]部分是服务的关键,是服务的一些具体运行参数的设置.
Type=forking是后台运行的形式,
User=users是设置服务运行的用户,
Group=users是设置服务运行的用户组,
PIDFile为存放PID的文件路径,
ExecStart为服务的具体运行命令,
ExecReload为重启命令,
ExecStop为停止命令,
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!

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

例如我们创建一个名为nginx.service的服务

#vim /usr/lib/systemd/system/nginx.service
 
[UNIT]
#服务描述
Description=Media wanager Service
#指定了在systemd在执行完那些target之后再启动该服务
After=network.target

[Service]
#定义Service的运行类型,一般是forking(后台运行)   
Type=forking

#定义systemctl start|stop|reload *.service 的执行方法(具体命令需要写绝对路径)
#注:ExecStartPre为启动前执行的命令
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/opt/nginx/sbin/nginx -s stop

#创建私有的内存临时空间
PrivateTmp=True

[Install]
#多用户
WantedBy=multi-user.target

再 添加 可执行 权限

chmod 754 /usr/lib/systemd/system/nginx.service

常用命令:

systemctl list-units --type=service   // 查看服务列表状态
systemctl   list-unit-files           // 列出所有已经安装的  服务  及  状态 (可为人所读,  内容简略、清晰)
systemctl                             // 可以列出正在运行的服务状态,如图:(基本不为人所读, 内容复杂、全面)
systemd-cgls                          // 以树形列出正在运行的进程,它可以递归显示控制组内容

systemctl start xxx.service           // 启动一个服务
systemctl stop xxx.service            // 关闭一个服务
systemctl restart xxx.service         // 重启一个服务
systemctl status xxx.service          // 查看服务状态
systemctl is-enabled xxx.service      // 查看服务是否开机启动
systemctl list-unit-files | grep enabled  // 查看已启动的服务列表
systemctl --failed                    // 查看启动失败的服务列表












以上是关于centos7 添加自启的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7.5下设置开机自启

Centos706添加服务开启自启

centos7添加开机启动服务/脚本

centos7如何添加开机启动服务/脚本

CentOS7添加开机启动服务/脚本(延用CentOS6方法)

CentOS7 rc.local开机开法启动