首页 > 解决方案 > 即使 apache2ctl -S 显示它应该是,apache2 也没有监听端口

问题描述

我有一个运行在带有 Buster 版本 10 的 Raspberry Pi 上的 apache2 服务器。它将端口 80 转发到端口 443 以进行 https 连接。效果很好。我正在尝试将 Nagios 添加到此服务器。我已经安装了它并且(显然错误地)配置了它。当我运行时:

jordan@megabyte:~ $ sudo apache2ctl -S

这是我的输出:

VirtualHost configuration:
*:443                  mydomain.com (/etc/apache2/sites-enabled/default-ssl.conf:2)
*:8080                 megabyte.mydomain.com (/etc/apache2/sites-enabled/nagios4.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex authdigest-client: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: ENABLE_USR_LIB_CGI_BIN
User: name="www-data" id=33
Group: name="www-data" id=33

对我来说,看起来 Nagios 应该在端口 8080 上监听(按计划)但是当我这样做时

jordan@megabyte:~ $ nc -l -p 8080

它不会出错,表明端口 8080 上没有任何监听。并且:

jordan@megabyte:/etc/apache2 $ sudo netstat -nltp | grep 8080

什么都不返回,确认第一个测试(在杀死 nc 之后)我尝试重新启动 apache 甚至重新启动。我很乐意发布任何请求的文件,我只是不知道哪些是相关的。

标签: apachenagios

解决方案


所以,nagios 的 URL 是:

http://hostname:8080/nagios4

我错过了4

另外,我在 VirtualHost 指令之前添加了 Listen 指令:

listen 8080
<VirtualHost *:8080>

这让它工作


推荐阅读