# Racknerd VPS 外网无法访问 Nginx 的解决方案 **Published by:** [cn2 gia vps](https://paragraph.com/@cn2-gia-vps/) **Published on:** 2025-03-13 **URL:** https://paragraph.com/@cn2-gia-vps/racknerd-vps-nginx ## Content 选择了在 Racknerd 上购买一台海外 VPS,系统版本为 CentOS 7,但在安装 Nginx 后,外网无法正常访问。经过分析,发现问题多数出在防火墙端口未开放。以下是具体的解决方案。 👉 【建议收藏】2025年Racknerd最新优惠套餐整理汇总 - 每日更新可用活动优惠 1. 测试 Nginx 是否安装成功 运行以下命令测试 Nginx 是否已经正确安装并可以正常使用。 bash $ wget http://127.0.0.1 --2025-01-03 20:11:34-- http://127.0.0.1/ 正在连接 127.0.0.1:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:615 [text/html] 正在保存至: “index.html” 2025-01-03 20:11:34 (83.5 MB/s) - 已保存 “index.html” [615/615]) 如果能够收到 200 OK 的响应,说明 Nginx 已安装成功,但如果外网仍无法访问,则需要检查防火墙配置。 2. 查看 80/443 端口是否开放 使用 firewall-cmd 查看防火墙是否已开放 HTTP 和 HTTPS 的端口。 bash $ firewall-cmd --query-port=80/tcp output: no $ firewall-cmd --query-port=443/tcp output: no 从结果中可以看到这两个端口默认是关闭的,因此需要手动将其开放。 3. 打开防火墙的指定端口 运行以下命令,以永久方式开放 80 和 443 端口。 bash $ firewall-cmd --permanent --add-port=80/tcp output: success $ firewall-cmd --permanent --add-port=443/tcp output: success 4. 重启防火墙加载配置 添加端口后,需要重启防火墙以使新规则生效。 bash $ firewall-cmd --reload output: success 此时,外界应该正常可以通过 HTTP 和 HTTPS 访问到你的 Nginx 服务了。 附录:防火墙常用命令汇总 以下是使用防火墙的常用命令,便于日后配置或排查问题时参考。 查看防火墙服务状态 bash $ systemctl status firewalld 检查防火墙运行状态 bash $ firewall-cmd --state 列出所有防火墙规则 bash $ firewall-cmd --list-all 查询某端口是否开放 bash $ firewall-cmd --query-port=19999/tcp 开放某端口(例如 80 端口) bash $ firewall-cmd --permanent --add-port=80/tcp 关闭某端口(例如 80 端口) bash $ firewall-cmd --permanent --remove-port=80/tcp 重启防火墙 修改防火墙规则后必须重启防火墙。 bash $ firewall-cmd --reload 通过以上步骤,相信你可以顺利解决 Nginx 外网访问的问题。如果仍有其他疑问,可以进一步检查 Nginx 配置文件是否正确设置了监听地址或主机防火墙策略。祝顺利! ## Publication Information - [cn2 gia vps](https://paragraph.com/@cn2-gia-vps/): Publication homepage - [All Posts](https://paragraph.com/@cn2-gia-vps/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@cn2-gia-vps): Subscribe to updates