111

我使用centOS服务器。我想将 apache 配置为侦听端口 8079。我在httpd.conf.
我在 iptables 中打开了 8079 端口并重新启动了 iptables。我什至停止了 iptables 服务。

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"

如果我尝试访问http://localhost:8079http://myserver.com:8079从该机器访问,我可以访问该页面。但是从任何其他机器我都无法通过 80 以外的任何端口访问该站点。在端口 80 上,它可以工作。在端口 8079 上没有。

我还需要配置什么?

4

8 回答 8

156

/etc/apache2/ports.conf中,将端口更改为

Listen 8079

然后去/etc/apache2/sites-enabled/000-default.conf

并将第一行更改为

<VirtualHost *: 8079>

现在重启

sudo service apache2 restart

Apache 现在将侦听端口 8079 并重定向到 /var/www/html

于 2014-09-26T16:53:36.720 回答
77

在文本编辑器中打开 httpd.conf 文件。找到这一行:

Listen 80

并改变它

Listen 8079

更改后,保存并重新启动apache。

于 2010-10-15T09:18:07.660 回答
24

这是一个防火墙问题。有一个硬件防火墙阻止了对几乎所有端口的访问。(关闭软件防火墙/SELinux bla bla 没有效果)

然后我扫描了打开的端口并使用了打开的端口。

如果您遇到同样的问题,请运行以下命令

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000

它将扫描系统上所有打开的端口。任何开放的端口都可以从外部访问。

参考http ://www.go2linux.org/which_service_or_program_is_listening_on_port

于 2010-10-20T13:11:42.263 回答
20

如果你需要80以外的apache监听端口,你应该在ubuntu下添加下一个文件

“/etc/apache2/ports.conf”

监听端口列表

Listen 80
Listen 81
Listen 82

在你必须继续你的虚拟主机conf文件并定义下一个之后

<VirtualHost *:80>
  #...v host 1
</VirtualHost>


<VirtualHost *:81>
  #...host 2
</VirtualHost>


<VirtualHost *:82>
  #...host 3
</VirtualHost>
于 2018-03-27T12:21:24.103 回答
8

这在 Centos 上为我工作

首先:在文件/etc/httpd/conf/httpd.conf

添加

Listen 8079 

Listen 80

这直到您的服务器侦听端口 8079

第二:去你的虚拟主机前。/etc/httpd/conf.d/vhost.conf

并在下面添加此代码

<VirtualHost *:8079>
   DocumentRoot /var/www/html/api_folder
   ServerName example.com
   ServerAlias www.example.com
   ServerAdmin root@example.com
   ErrorLog logs/www.example.com-error_log
   CustomLog logs/www.example.com-access_log common
</VirtualHost>

这意味着当您转到www.example.com:8079重定向到

/var/www/html/api_folder

但是你需要先重启服务

sudo service httpd restart

于 2015-12-30T20:42:57.683 回答
3

如果您在 Windows 上使用 Apache

  1. Win用++检查Apache服务的名称(如果不是ApacheX.Y,它应该有你与apache一起使用的软件的名称,例如:“wampapache64” Rservices.mscEnter
  2. 以管理员身份启动命令提示符(使用Win++是不够的)RcmdEnter
  3. 切换到 Apache 的目录,例如:cd c:\wamp\bin\apache\apache2.4.9\bin;
  4. 检查配置文件是否正常:(httpd.exe -n "YourServiceName" -t将服务名称替换为您在步骤 1 中找到的名称);
  5. 确保服务已停止:httpd.exe -k stop -n "YourServiceName"
  6. 从以下开始:httpd.exe -k start -n "YourServiceName"
  7. 如果它开始正常,则问题不再存在,但如果你得到:

    AH00072:make_sock:无法绑定到地址 IP:PORT_NUMBER

    AH00451: 没有可用的监听套接字,正在关闭

    如果端口号不是您想要使用的端口号,则打开 Apache 配置文件(例如C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf,使用代码编辑器或写字板打开,但不是记事本- 它无法正确读取新行)并替换开始行上的数字使用Listen您想要的端口号,保存并重复步骤 6。如果它是您想要使用的端口,则继续:

  8. 检查使用该端口的进程的 PID Win+ R+ resmon+ Enter,单击Network选项卡,然后单击Ports子选项卡;
  9. 杀死它:(taskkill /pid NUMBER /f强制/f它);
  10. 重新检查resmon以确认端口现在是空闲的,然后重复步骤 6。

这可确保 Apache 的服务已正确启动,如果您在其中设置文件路径并更改端口,则需要在虚拟主机配置文件上进行 sarul 提到的配置(例如:)。C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf如果再次更改,请记住重新启动服务:httpd.exe -k restart -n "YourServiceName".

于 2016-02-04T18:36:58.473 回答
1

FC22服务器用

cd /etc/httpd/conf 编辑 httpd.conf [回车]

更改:听 80 到:听任何数字

保存文件

systemctl restart httpd.service [enter] 如果需要,在您的路由器/防火墙中打开任何号码

于 2015-08-23T07:18:01.373 回答
0

如果您的 ufw(Uncomplicatd Firewall) 已启用,请运行此命令。添加示例端口 8080

$ sudo ufw allow 8080/tcp

您可以通过运行检查状态

$ sudo ufw status

欲了解更多信息检查: https ://linuxhint.com/ubuntu_allow_port_firewall

于 2020-08-26T19:53:17.200 回答