启动nginx报错,80 failed (97: Address family not supported by protocol)

简介: 本文分享了在云服务器上部署Web应用时安装与配置Nginx的实战经验。作者通过解决启动Nginx时遇到的“Address family not supported by protocol”错误,定位到问题源于服务器不支持IPv6或配置冲突。最终通过注释默认配置文件中的IPv6监听设置,成功重启Nginx。作者是魔都架构师,拥有分布式系统与数据中台实战经验,关注其专栏可获取更多技术干货。

本文已收录在Github关注我,紧跟本系列专栏文章,咱们下篇再续!

  • 🚀 魔都架构师 | 全网30W技术追随者
  • 🔧 大厂分布式系统/数据中台实战专家
  • 🏆 主导交易系统百万级流量调优 & 车联网平台架构
  • 🧠 AIGC应用开发先行者 | 区块链落地实践者
  • 🌍 以技术驱动创新,我们的征途是改变世界!
  • 👉 实战干货:编程严选网

1 安装Nginx

最近想使用云服务器来部署自己的web应用。

yum install nginx

2 尝试启动Nginx

安装nginx后,用命令service nginx start 启动时报错:

[root@sss sbin]# sudo service nginx start  
Starting nginx: nginx: [emerg] socket() [:]:80 failed (97: Address family not supported by protocol)  
                  [FAILED]

错误表明Nginx在尝试监听80端口时遇到了问题。Address family not supported by protocol,通常与IPv6相关。

3 定位问题源

找到nginx的默认配置文件:

vim /etc/nginx/conf.d/default.conf
#
# The default server
#
server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;
    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;
    location / {
    }
    error_page 404 /404.html;
        location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

配置文件包含6、7两行关于监听80端口的指令,其中listen [::]:80 default_server;是用于监听IPv6的。

将如下部分注释:

listen       [::]:80 default_server;

因为错误提示可能与服务器不支持IPv6或者Nginx配置了监听IPv6但实际环境不支持有关。注释后,Nginx将不再尝试监听IPv6地址。

4 重启Nginx

重启,成功!

[root@sss sbin]# sudo service nginx start  
Starting nginx:               [ OK ]
目录
相关文章
|
应用服务中间件 nginx
【报错】在nginx下启动,登录成功后页面不跳转
【报错】在nginx下启动,登录成功后页面不跳转
582 4
|
JavaScript 应用服务中间件 nginx
【报错】nginx部署项目后Echarts折线图无法展示
在Vue3+TS+Arco项目中,打包后使用Nginx部署的Echarts折线图显示异常,报`Cannot read properties of undefined(reading 'setOption')`错误。问题源于在定义div时使用了Vue2的`$refs`语法,导致DOM元素无法正确初始化Echarts。解决方法有两种:1) 不推荐使用`document.getElementById`获取DOM并初始化Echarts;2) 推荐在Vue3中通过`ref`获取DOM,在`onMounted`中使用`echarts.init`并借助`nextTick`异步绘制数据。
408 3
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了"http://"。修正方法是删除上游服务器列表和proxy_pass中的"http://"。问题解决后,Nginx服务应能正常启动。
997 4
解决nginx配置负载均衡时invalid host in upstream报错
|
应用服务中间件 nginx
yum 安装报错 No package nginx available Error:Nothing to do
yum 安装报错 No package nginx available Error:Nothing to do
1101 1
|
安全 Ubuntu 应用服务中间件
【报错】ubutun下启动nginx失败:500 internal server error
【报错】ubutun下启动nginx失败:500 internal server error
1347 0
|
应用服务中间件 nginx Windows
【报错】Windows下启动nginx报:bind() to 0.0.0.0:80 failed...
【报错】Windows下启动nginx报:bind() to 0.0.0.0:80 failed...
1007 0
|
存储 应用服务中间件 nginx
【各种问题处理】nginx报错nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)
【1月更文挑战第13天】【各种问题处理】nginx报错nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)
|
2月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
298 1
|
6月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
720 87
|
6月前
|
负载均衡 应用服务中间件 nginx
Nginx配置与命令
Nginx 是一款高性能的 HTTP 和反向代理服务器,其配置文件灵活且功能强大。本文介绍了 Nginx 配置的基础结构和常用指令,包括全局块、Events 块、HTTP 块及 Server 块的配置方法,以及静态资源服务、反向代理、负载均衡、HTTPS 和 URL 重写等功能实现。此外,还提供了常用的 Nginx 命令操作,如启动、停止、重载配置和日志管理等,帮助用户高效管理和优化服务器性能。