📅  最后修改于: 2023-12-03 15:38:11.971000             🧑  作者: Mango
在 Linux 系统中,Apache 是一款非常流行的 Web 服务器软件。如果你的服务器经常需要重启或者出现意外宕机的情况,你可能需要在服务器启动时自动启动 Apache。本文将介绍如何在 Shell/Bash 中启用自动启动 Apache。
在启用自动启动 Apache 之前,你需要确认已经安装了 Apache 并可以正常工作。可以通过在终端中输入以下命令来检查 Apache 是否安装并运行:
systemctl status apache2
如果 Apache 正常运行并且已启用,则你应该看到类似于以下输出:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-05-24 13:26:52 UTC; 2 days ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 1004 (apache2)
Tasks: 6 (limit: 559)
CGroup: /system.slice/apache2.service
├─1004 /usr/sbin/apache2 -k start
├─1005 /usr/sbin/apache2 -k start
├─1006 /usr/sbin/apache2 -k start
├─1007 /usr/sbin/apache2 -k start
├─1008 /usr/sbin/apache2 -k start
└─1009 /usr/sbin/apache2 -k start
如果 Apache 没有运行或者未启用,则应该看到类似于以下输出:
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: https://httpd.apache.org/docs/2.4/
在这种情况下,你需要手动启动 Apache。可以通过在终端中输入以下命令来启动 Apache:
sudo systemctl start apache2
一旦你确认 Apache 可以正常运行,那么接下来你需要在服务器启动时自动启动 Apache。可以通过以下步骤来启用自动启动 Apache:
在终端中输入以下命令来打开 systemd 配置文件:
sudo nano /etc/systemd/system/multi-user.target.wants/apache2.service
在打开的文件中,添加以下内容:
[Unit]
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/apache2ctl start
ExecReload=/usr/sbin/apache2ctl graceful
ExecStop=/usr/sbin/apache2ctl stop
[Install]
WantedBy=multi-user.target
这将告诉 systemd 在网络服务启动后启动 Apache,并让 systemd 了解 Apache 在启动时应该运行。
在 nano 编辑器中,可以按 CTRL + X 保存并关闭文件。
在终端中输入以下命令来重新加载 systemd 服务:
sudo systemctl daemon-reload
在终端中输入以下命令来启用自动启动 Apache:
sudo systemctl enable apache2
现在,每次服务器启动时,Apache 将自动启动。
通过上述步骤,你可以在 Shell/Bash 中启用自动启动 Apache。如果你遇到任何问题或错误,请务必检查所有步骤是否正确执行。