![查看所有 Apache Webserver 相关常见问题解答](https://www.alaica.com/wp-content/uploads/linux-41.gif)
我对 httpd.conf 文件进行了更改。如何在 Debian / CentOS Linux 操作系统下重新加载新的配置更改而不重新启动 Apache 2 Web 服务器?
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 是的 |
要求 | Linux/Unix 上的 apachectl/service/systemctl 命令 |
美东时间。阅读时间 | 3分钟 |
是的,您可以在 Linux 或类 Unix 操作系统下优雅地重新启动 Apache v1.x 或 v2.x httpd 守护进程。您可以向 httpd 发送以下信号来启动、重新启动、重新加载或停止服务器:
- 开始
- 重新开始
- 优美
- 停止
- 优雅停止
关于 Apache Web 服务器优雅重启的注意事项
您需要向 Apache 服务器发送 USR1 信号:
此 (USR1) 信号导致父进程建议子进程在当前请求后退出(或者如果它们不提供任何服务,则立即退出)。父级重新读取其配置文件并重新打开其日志文件。当每个子进程死亡时,父进程将用新一代配置中的子进程替换它,该子进程立即开始服务新请求。
我们可以运行配置文件语法测试,如下所示:
apachectl configtest
apachectl -t
相关: 确保 Unix / Linux 配置文件没有语法错误的 21 个示例
更改配置文件后正常重新启动 Apache 1.x/2.x 的命令语法
以 root 用户身份键入以下命令:
apachectl -k优雅
或者
apache2ctl -k优雅
Apache 2 使用 Systemd 时重新加载 HTTPD 配置文件而不重新启动 Apache
语法是:
# CentOS/RHEL/Fedora Linux
sudo systemctl reload httpd
# Debian/Ubuntu Linux
sudo systemctl reload apache2
![Apache 2 重新加载 HTTPD 配置文件而不重新启动 Apache 配置更改](https://www.alaica.com/wp-content/uploads/linux-122.png)
重新加载 Apache Web 服务器配置而不重新启动它
旧版 Linux disro 命令用于重新加载 Apache 服务器
您还可以使用 Linux 发行版特定的 Sys V init 脚本(如下所示)来正常地重新加载服务器。以下示例仅适用于 RHEL/CentOS Linux 及其朋友:
/etc/init.d/httpd优雅
或者
/ sbin /服务httpd 优雅
Debian / Ubuntu Linux 和朋友使用以下语法:
/etc/init.d/apache2重新加载
监控 apache 进度
向 Apache 2 发出信号后,您可以通过发出以下 tail 命令来读取有关其进度的 apache error_log 文件:
## 对于 RHEL / CentOS 和朋友 ## tail -f / var / log / httpd / error_log ##对于Debian / Ubuntu和朋友## tail -f /var/log/apache2/error.log ## FreeBSD Unix ## tail -f /var/log/httpd-error.log
结论
您学习了如何优雅地重新加载 Apache 2 Web 服务器,而无需完全重述它。总之,我们测试配置文件是否有错误,然后重新加载它们:
apachectl configtest
apachectl -k graceful
apachectl命令 | 描述 |
---|---|
-D name | 定义一个名称以用于 |
-d directory | 指定备用初始 ServerRoot |
-f file | 指定备用 ServerConfigFile |
-C "directive" | 读取配置文件之前处理指令 |
-c "directive" | 读取配置文件后处理指令 |
-e level | 显示级别的启动错误(参见 LogLevel) |
-E file | 将启动错误记录到文件中 |
-v | 显示版本号 |
-V | 显示编译设置 |
-h | 列出可用的命令行选项(本页) |
-l | 列出模块中编译的内容 |
-L | 列出可用的配置指令 |
-t -D DUMP_VHOSTS | 显示解析的虚拟主机设置 |
-t -D DUMP_RUN_CFG | 显示解析的运行设置 |
-S | -t -D DUMP_VHOSTS -D DUMP_RUN_CFG 的同义词 |
-t -D DUMP_MODULES | 显示所有加载的模块 |
-M | -t -D DUMP_MODULES 的同义词 |
-t -D DUMP_INCLUDES | 显示所有包含的配置文件 |
-t | 对配置文件运行语法检查 |
-T | 在不检查 DocumentRoot 的情况下启动 |
-X | 调试模式(只有一个worker,不分离) |