# Racknerd VPS 外网无法访问 Nginx 的解决方案

By [cn2 gia vps](https://paragraph.com/@cn2-gia-vps) · 2025-03-13

---

选择了在 Racknerd 上购买一台海外 VPS，系统版本为 CentOS 7，但在安装 Nginx 后，外网无法正常访问。经过分析，发现问题多数出在防火墙端口未开放。以下是具体的解决方案。

👉 [【建议收藏】2025年Racknerd最新优惠套餐整理汇总 - 每日更新可用活动优惠](https://bit.ly/Rack_Nerd)

1\. 测试 Nginx 是否安装成功
-------------------

运行以下命令测试 Nginx 是否已经正确安装并可以正常使用。

bash $ wget [http://127.0.0.1](http://127.0.0.1) --2025-01-03 20:11:34-- [http://127.0.0.1/](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 配置文件是否正确设置了监听地址或主机防火墙策略。祝顺利！

---

*Originally published on [cn2 gia vps](https://paragraph.com/@cn2-gia-vps/racknerd-vps-nginx)*
