本文已收录在Github,关注我,紧跟本系列专栏文章,咱们下篇再续!
- 🚀 魔都架构师 | 全网30W技术追随者
- 🔧 大厂分布式系统/数据中台实战专家
- 🏆 主导交易系统百万级流量调优 & 车联网平台架构
- 🧠 AIGC应用开发先行者 | 区块链落地实践者
- 🌍 以技术驱动创新,我们的征途是改变世界!
- 👉 实战干货:编程严选网
1 安装Nginx
最近想使用云服务器来部署自己的web应用。
bash
yum install nginx
2 尝试启动Nginx
安装nginx后,用命令service nginx start 启动时报错:
bash
[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的默认配置文件:
sql
vim /etc/nginx/conf.d/default.conf
sql
#
# 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的。
将如下部分注释:
bash
listen [::]:80 default_server;
因为错误提示可能与服务器不支持IPv6或者Nginx配置了监听IPv6但实际环境不支持有关。注释后,Nginx将不再尝试监听IPv6地址。
4 重启Nginx
重启,成功!
bash
[root@sss sbin]# sudo service nginx start
Starting nginx: [ OK ]
本文由博客一文多发平台 OpenWrite 发布!