解决Nginx无法访问的方法 - 极悦
首页 课程 师资 教程 报名

解决Nginx无法访问的方法

  • 2022-05-19 09:54:02
  • 18821次 极悦

NGINX 是许多网站和组织使用的强大 Web 服务器。但是,有时可能会发生您已配置 NGINX 服务器但无法从外部公共 IP 或外部框访问您的网站的情况。这是新系统管理员面临的常见问题。在本文中,我们将学习如何解决无法从外部访问 NGINX 的问题。

无法从外部访问 NGINX

如果您无法从外部访问 NGINX,请执行以下步骤。

1. 更新 server_name

server_name 指令是 NGINX 服务器响应的域和子域的名称。如果您为其值输入 IP 地址,那么您将无法访问 NGINX。这是错误配置的示例。

服务器名称 54.54.32.21;

这是正确配置的示例。在这种情况下,您的 NGINX 服务器将处理发送到 www.example.com 的请求。

server_name www.example.com;

基本上你需要使用一个或多个域名/子域名,而不是 IP 地址。例如,如果您希望同一服务器到服务器对 www.example.com 和 blog.example.com 的请求,您可以更新 server_name 指令,如下所示。

server_name www.example.com blog.example.com

如果要为所有域和子域提供服务,请更新 server_name,如图所示。

服务器名称 _;

但是在进行上述更改之前请小心,因为您不希望您的服务器不必要地为所有域和子域提供服务。

2. 更新 /etc/hosts

如果上述步骤对您不起作用,请在文本编辑器中打开 /etc/hosts 文件。

$ sudo vi /etc/hosts

添加您的 NGINX 服务器的公共 IP 地址以及您的域名。

54.54.32.21 www.example.com

保存并关闭文件。

3.更新防火墙

如果上述步骤对您不起作用,则可能是您的防火墙阻止了外部入站流量。在这种情况下,只需运行以下命令即可禁用防火墙。

$ sudo ufw 禁用

禁用防火墙后,检查您的网站是否可以访问。如果是这样,那么您需要重新启用我们的防火墙,但打开端口 80 或其他运行 NGINX 服务器的端口。

如果您甚至无法从本地计算机访问 NGINX,那么很可能另一个进程正在 NGINX 所需的端口上运行。在这种情况下,更新“listen”指令中提到的端口号以在不同的端口上运行 NGINX。如果你发现它正在工作,然后使用 netstat 命令找出运行在 NGINX 所需的端口 80 上的进程。

$ sudo netstat -tulpn

 

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交