我希望有人能帮助我,我正在尝试设置一个 VPS,在使用主 VPS 之前,我有一个小型 VPS 需要学习。好的,我已经安装了 Apache,没有任何问题,当我尝试“ sudo service httpd status ”时,我被告知 Apache 处于活动状态并正在运行,一切正常。但是当我在浏览器中访问我的 IP 时,我被告知浏览器无法连接,无论我使用什么浏览器。我执行了“ sudo service firewalld status ”,发现我没有防火墙,没有这样的文件或文件夹。然后我执行了“ systemctl list-units --type=service ”,这根本没有显示任何防火墙。这出现了一个问题,“systemd-v...le-setup.service 加载失败,设置虚拟控制台失败”
因此,由于我对这一切都很陌生,我不知道我做错了什么。如果有人知道如何解决这个问题,我会很高兴。我正在使用 MacBook Pro 和终端通过 SSH 连接,我尝试重新安装 CentOs 7 并重新启动,但我遇到了完全相同的问题。提前感谢大家的帮助。
答案1
CentOS 7 默认使用防火墙。您可以删除它并安装 iptables。
但是如果您想通过防火墙方式执行此操作,请运行以下命令:
sudo firewall-cmd --add-service=http
sudo firewall-cmd --add-service=https
答案2
从头开始做事,而不是仅仅依赖命令。
检查 apache 是否正在运行
pgrep apache
确保 apache 正在监听:
netstat -ntap | grep LISTEN | grep ":80"
如果没有,请检查系统和 apache 日志中是否有任何错误。(例如 SELinux 设置可能是原因:暂时在 /etc/selinux/config 中将其设置为禁用)
如果有效,那么以下内容可能会给你一些线索:
iptables -nL
您可能在安装过程中禁用了其端口。
确保您不受数据中心端任何类型的 NAT 或端口转发的约束。请咨询其管理员。
更新#1:
这是一个快速的解决方法:
yum install iptables-services
systemctl start iptables
systemctl enable iptables
systemctl disable firewalld
systemctl stop firewalld
iptables -P INPUT ACCEPT
iptables -F
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # if need
# add any other port you need, like above
iptables -P INPUT DROP
service iptables save