![](/img/trans.png)
[英]Q about Vagrant: I'm setting a centos 6.5 in vagrant, I have installed httpd but I can't access website on virtual machine
[英]Couldn't access CentOS httpd
我一直在使用 Ubuntu,最近才开始在我的桌面 (Ubuntu) 上的 VMplayer 中运行 Centos(CentOS Linux 版本 7.1.1503(核心))。
出于某种原因,httpd 没有自动启动,我运行了“service httpd start”,它根据“netstat -antp”启动。
[root@localhost ~]# netstat -antp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1161/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1620/master tcp 0 0 10.0.0.19:22 10.0.0.7:20383 ESTABLISHED 2421/sshd: root@pts tcp6 0 0 :::80 :::* LISTEN 2453/httpd tcp6 0 0 :::22 :::* LISTEN 1161/sshd tcp6 0 0 ::1:25 :::* LISTEN 1620/master
我可以在本地访问 http 服务器(在 CentOs 命令行中curl http://localhost
)
curl http://172.16.13.143/
访问 httpd 时,它拒绝了 TCP 连接。 我能够 ssh 进入它,它适用于 ssh ssh root@172.16.13.143
。service iptables stop
getenforce
命令关闭 SELinux。我只需要在 Web 界面上进行快速测试,但我不能。 真的需要一些帮助。 谢谢。
安装在 RHEL/CentOS/Fedora 系统上的软件包不应该自动启动任何服务(因为在配置它之前,您可能还没有准备好向世界公开您的服务)。
运行service httpd start
会暂时启动该服务,但下次启动时不会启动。 您希望systemctl enable httpd
使服务在您启动系统时自动启动。
您可以检查防火墙是否真的被禁用。 运行iptables -S
以查看当前规则集。 默认的 iptables 配置通常只允许ssh
而不允许其他任何东西。
更新
您的系统可能正在运行firewalld
来管理防火墙。 尝试service firewalld stop
。
您可以运行systemctl disable firewalld
以防止它在您的系统下次启动时启动。
-- CentOS 7
将以下内容添加到“/etc/httpd/conf/httpd.conf”
Replace:
Listen 80
With:
Listen 0.0.0.0:80
这将禁用 ipv6 并启用 ipv4
要检查此类型:
netstat -an | grep -i tcp | grep -i listen
重启apache服务
systemctl restart httpd.service
另外,启用防火墙访问端口 80
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
您是否执行了iptables -L
以确保没有防火墙正在运行?
执行以下命令以确保没有其他防火墙也在运行
ps -ef
正在收听“80”,因此某些内容正在阻止您的连接看起来像
在标准安装中,CentOS 7 设置为阻止到 Apache 的流量。
将端口添加到防火墙:
对于 http:
sudo firewall-cmd --permanent --add-port=80/tcp
对于 https:
sudo firewall-cmd --permanent --add-port=443/tcp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.