HCRM博客

如何在CentOS系统中启动服务?

CentOS 是一个基于 Linux 的开源操作系统,广泛应用于服务器和云计算领域,在 CentOS 7 及其后续版本中,系统和服务管理主要依赖于 systemd,systemd 是一个系统和服务管理器,用于替代传统的 SysV 和 Upstart。

下面将详细介绍如何在 CentOS 上启动、停止、重启服务以及设置开机自启动:

如何在CentOS系统中启动服务?-图1
(图片来源网络,侵权删除)

启动服务

要启动一个服务,可以使用 systemctl start 命令,要启动 httpd 服务(Apache HTTP 服务器),可以执行以下命令:

sudo systemctl start httpd.service

停止服务

要停止一个正在运行的服务,可以使用 systemctl stop 命令,要停止 httpd 服务,可以执行以下命令:

sudo systemctl stop httpd.service

重启服务

要重启一个服务,可以使用 systemctl restart 命令,如果服务当前正在运行,该命令会先停止服务然后重新启动;如果服务未运行,则会直接启动服务,要重启 httpd 服务,可以执行以下命令:

sudo systemctl restart httpd.service

还有 tryrestart 选项,它只会在服务已经在运行的情况下重启服务:

sudo systemctl tryrestart httpd.service

reload 选项用于重新加载服务的配置文件而不中断服务:

sudo systemctl reload httpd.service

检查服务状态

要检查某个服务的状态,可以使用 systemctl status 命令,要查看 httpd 服务的状态,可以执行以下命令:

如何在CentOS系统中启动服务?-图2
(图片来源网络,侵权删除)
sudo systemctl status httpd.service

设置开机自启动

要让某个服务在系统启动时自动启动,可以使用 systemctl enable 命令,要设置 httpd 服务开机自启动,可以执行以下命令:

sudo systemctl enable httpd.service

相应地,如果要禁用某个服务的开机自启动,可以使用 systemctl disable 命令:

sudo systemctl disable httpd.service

常见服务文件示例

以下是一些常见服务的 systemd 服务文件示例:

Nginx 服务文件 (/usr/lib/systemd/system/nginx.service)

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target remotefs.target nsslookup.target
[Service]
Type=forking
User=nginx
Group=nginx
ExecStart=/usr/sbin/nginx c /etc/nginx/nginx.conf
ExecReload=/usr/sbin/nginx s reload
ExecStop=/usr/sbin/nginx s quit
PrivateTmp=true
[Install]
WantedBy=multiuser.target

MySQL 服务文件 (/usr/lib/systemd/system/mysqld.service)

[Unit]
Description=MySQL Server
After=network.target syslog.target auditd.service
Before=remotefs.target
Conflicts=shutdown.target
Wants=network.target
After=network.target syslog.target
[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/usr/sbin/mysqld daemonize pidfile=/run/mysqld/mysqld.pid
TimeoutSec=600
Restart=onfailure
RestartPreventExitStatus=1
LimitNOFILE=5000
[Install]
WantedBy=multiuser.target

相关问答FAQs

问题1:如何在 CentOS 上查看所有已启动的服务?

如何在CentOS系统中启动服务?-图3
(图片来源网络,侵权删除)

答:可以使用以下命令查看所有已启动的服务:

sudo systemctl listunits type=service state=running

问题2:如何查看某个服务是否设置为开机自启动?

答:可以使用以下命令查看某个服务是否设置为开机自启动:

sudo systemctl isenabled [service_name].service

要查看 httpd 服务是否设置为开机自启动,可以执行:

sudo systemctl isenabled httpd.service
分享:
扫描分享到社交APP
上一篇
下一篇