Apache 是一个开源并且跨平台的 HTTP 服务器。它拥各种功能强大的特性,和广泛的模块支持。
如果你是一个开发者或者一个系统管理员,你将经常有机会接触 Apache。
当使用一个 Apache 网站服务器时,启动,停止和重新启动、重新加载是最平常的任务。在不同的 Linux 发行版中,管理 Apache 服务的命令是不一样的。
大部分最新的 Linux 发行版都在使用 SystemD 作为默认的 init 初始系统和服务管理器。更老的发行版基于 SysVinit 并且使用脚本来管理服务。另外一个不同点就是服务的名字。在 Ubuntu 和 Debain,Apache 服务的名字叫做apache2
,而基于 Red Hat 的系统,例如 CentOS,这个服务的名字叫做httpd
.
在这篇指南中,我们将会讲解在大多数 Linux 发行版中如何启动,停止和重启 Apache。
开始前
运行这个指令前,假设你已经以 root 用户或者其他有sudo
权限的用户。
不管是 SystemD 服务单元还是 SysVinit 脚本都是使用下面的参数来管理 Apache 服务的。
start
: 启动 Apache 服务stop
: 停止 Apache 服务restart
: 重新启动 Apache 服务reload
: 优雅的重启 Apache 服务。重载过程中,Apache 主进程首先关闭子进程,然后加载新配置,并且启动一个新的子进程。status
: 查看服务状态
在 Ubuntu 和 Debian 上,启动,停止 和 重启 Apache
在最新的 Ubuntu(20.04,18.04, 16.04)和 Debian(10, 9)系统上,SystemD 是系统和服务管理器。
运行下面的命令,启动 Apache 服务:
sudo systemctl start apache2
复制
运行下面的命令,停止 Apache 服务:
sudo systemctl stop apache2
当你修改了 Apache 配置时,你需要重新启动服务器进程。运行下面的命令,重新启动 Apache 服务:
sudo systemctl restart apache2
复制
Ubuntu 或者 Debian 的旧版本系统上,使用了 init.d 脚本来启动,停止和重启 Apache 守护进程:
sudo service apache2 start
sudo service apache2 stop
sudo service apache2 restart
复制
在 RHEL/CentOS 上,启动,停止 和 重启 Apache
Systemd 是 RHEL/CentOS 7 和 8 的系统和服务管理器。
启动 Apache 服务:
sudo systemctl start httpd
复制
停止 Apache 服务:
sudo systemctl stop httpd
复制
重启 Apache 服务:
sudo systemctl restart httpd
复制
如果你在使用 CentOS 6(或者更早的版本),请使用下面的命令来启动,停止和重启 Apache 守护进程:
sudo service httpd start
sudo service httpd stop
sudo service httpd restart
复制
结论
在这个指南中,我们展示了在各种 Linux 系统中如何启动,停止和重启 Apache 服务器。