在CentOS7中,systemctl命令主要负责控制systemd系统和服务管理器。基本取代了service和chkconfig命令,虽然service和chkconfig命令依然保留,但是据说已经被阉割过
centos7以后的开机自启动自启动都放在了/usr/lib/systemd/system这个目录下,所有的自启动脚本都要写成service为结尾的脚本文件下边演示 NGINX开机自启动
编写nginx.service脚本
[Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
Description:描述服务 After:描述服务类别 [Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
写完启动脚本后要执行systemctl enable nginx.service 开启开机自启动,如果你不想开机自启动的话,可以使用systemctl disable nginx.service
systemctl --version,查看版本。 whereis systemctl,查看位置。 systemctl list-unit-files,列出所有可用单元(服务)。 systemctl list-units,列出所有运行中的单元。 systemctl --failed,列出所有失败的单元。 systemctl list-unit-files | grep enable,查看自启动的软件。 systemctl is-enabled mysqld.service,查看某个单元是否开机启动。 systemctl status mysqld.service,查看某个单元的状态。 systemctl start mysqld.service,启动某个单元。 systemctl restart mysqld.service,重启某个单元。 systemctl stop mysqld.service,停止某个单元。 systemctl daemon-reload,修改了某个单元的配置文件后,重载配置文件。 systemctl reload mysqld.service,重载某个单元。 systemctl enable mysqld.service,设置开机自启动。 systemctl disable mysqld.service,关闭开机自启动。 systemctl kill mysqld,杀死单元。