我想要一个我在家里安装的 Apache Web 服务器来监听端口 80 和端口 8080。
我已经添加Listen 8080
到 httpd.conf 并重新启动了 Apache 服务,但服务器似乎没有在 8080 上侦听。在http://localhost:8080中插入超时并且不显示我的 index.html 但http:// /localhost将显示我的 index.html。
如何让它听 80 和 8080?
我想要一个我在家里安装的 Apache Web 服务器来监听端口 80 和端口 8080。
我已经添加Listen 8080
到 httpd.conf 并重新启动了 Apache 服务,但服务器似乎没有在 8080 上侦听。在http://localhost:8080中插入超时并且不显示我的 index.html 但http:// /localhost将显示我的 index.html。
如何让它听 80 和 8080?
Apache 的标准 Debian 安装将具有以下配置片段:
这告诉 apache 监听端口 80,如果配置了 mod_ssl,则监听端口 443。在你的情况下,你想要:
您需要确保在 apache 上运行重新启动,而不是重新加载操作,以便它注意新的 Listen 指令。最安全的做法是停止 apache,确保它已死,然后重新启动。
如果此配置不起作用,请检查日志文件中是否有任何错误消息。您可以使用“netstat -lep --tcp”查看端口 8080 上是否有任何监听。最后,如果其他一切都不起作用,请尝试在 strace 下运行 apache 以查看它是否尝试绑定到该端口并失败,但没有记录问题。
这些答案很好,但它们排除了欧文实际上已经这样做的可能性(“我已经添加
Listen 8080
”)可能意味着它听起来像什么(即大卫所建议的)。如果您已经这样做了,但仍然发现它不起作用,请确保您已为您可能拥有的每个子域正确配置了指令,包括默认的指令(如果已手动配置为在名称后收听 :80)。
您可能有这样的指令:
您需要将其更改为
<VirtualHost *:8080>
or<VirtualHost *:*>
。步骤1
httpd(apache) 侦听端口 80,如果配置了 mod_ssl,则侦听端口 443。
第2步
第 3 步
(并非所有进程都可以识别,不会显示非拥有进程信息,您必须是 root 才能看到所有内容。)
您可能需要将站点配置为端口 8080 才能正常工作。通读Apache Virtual Hosts的文档。每个“站点”都可以设置为接受特定端口(和 IP 等)上的连接。您的 http.conf 中是否有一个仅为端口 80 配置的虚拟主机?
此外,您可以确认服务器正在使用 8080 侦听
netstat -nlp
并在该端口上查找条目。您可能还想检查是否启用了 SELinux。默认的 SELinux 配置可能不允许您在非标准端口上运行 Apache。这是一个网站,它向您展示您是否正在运行 SELinux,以及如何禁用它,如果您不想要或使用它的功能。 http://www.crypt.gen.nz/selinux/disable_selinux.html
假设 linux
netstat -lntp
以 root 身份运行,您可以查看 apache 是否正在侦听 8080。这将帮助您确定问题是 apache 没有在监听,还是 apache 的外部因素(例如防火墙、selinux 等)导致连接超时。如果有人使用 Windows 并尝试添加不同的端口,那么我们也应该更新 ServerName。默认情况下,ServerName 设置为 localhost:80。