configurationApache以侦听80以外的端口
我使用centOS服务器。 我想configurationApache来侦听端口8079.我在httpd.conf
添加了LISTEN 8079指令。
我在iptables中打开8079端口并重新启动iptables。 我甚至停止了iptables服务。
"netstat -nal | grep 8079" shows "tcp 0 0 :::8079 :::* LISTEN"
如果我尝试从该机器访问http://localhost:8079
或http://myserver.com:8079
,则可以访问该页面。 但从任何其他机器我无法访问80以外的任何端口上的网站。在端口80,它的工作原理。 在8079端口上没有。
我还需要configuration什么?
在/etc/apache2/ports.conf
,将端口更改为
Listen 8079
然后去/etc/apache2/sites-enabled/000-default.conf
并把第一行改为
<VirtualHost *: 8079>
现在重启
sudo service apache2 restart
Apache现在将监听端口8079并redirect到/ var / www / html
在你的文本编辑器中打开httpd.conf文件。 find这一行:
Listen 80
并改变它
Listen 8079
更改后,保存并重新启动apache。
这是一个防火墙问题。 有一个硬件防火墙阻止访问几乎所有的端口。 (closures软件防火墙/ 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
这在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
redirect到
在/ var / www / html等/ api_folder
但是您首先需要重新启动服务
sudo service httpd restart
如果您在Windows上使用Apache :
- 用Win + R +
services.msc
+ Enter检查Apache服务的名称(如果不是ApacheX.Y,它应该有你使用的软件的名称,例如:“wampapache64”); - 以pipe理员身份启动命令提示符 (使用Win + R +
cmd
+ Enter是不够的); - 转到Apache的目录,例如:
cd c:\wamp\bin\apache\apache2.4.9\bin
; - 检查configuration文件是否正确:
httpd.exe -n "YourServiceName" -t
(用步骤1中find的名称replace服务名称); - 确保服务已停止:
httpd.exe -k stop -n "YourServiceName"
- 启动它:
httpd.exe -k start -n "YourServiceName"
-
如果它开始好,问题不再存在,但如果你得到:
AH00072:make_sock:无法绑定到地址IP:PORT_NUMBER
AH00451:没有可用的sockets,closures
如果端口号不是你要使用的端口号,那么打开Apacheconfiguration文件(例如用代码编辑器或写字板打开的
C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf
,但不能打开记事本 – 它不会正确读取新行),并将Listen
开头的行上的数字replace为所需端口号,保存并重复步骤6.如果是您要使用的那个,则继续: - 用Win + R +
resmon
+ Enter检查使用该端口的进程的PID,点击Network选项卡,然后点击Ports子选项卡; - 杀死它:
taskkill /pid NUMBER /f
(/f
强制它); - 重新检查
resmon
以确认端口空闲,然后重复步骤6。
这可以确保Apache的服务已经正确启动,如果你是虚拟主机configuration文件 (如: C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf
)在那里设置文件path,并更改端口。 如果再次更改,请记住重新启动服务: httpd.exe -k restart -n "YourServiceName"
。
对于FC22服务器
cd / etc / httpd / conf编辑httpd.conf [回车]
更改:听80:收听whatevernumber
保存文件
systemctl restart httpd.service [enter]如果需要,在你的路由器/防火墙中打开whatevernumber