记一次 Ubuntu 服务器 Nginx 无法启动问题

Nginx/Web服务器
620
0
0
2022-04-11
标签   Ubuntu

问题描述

sudo apt update
sudo apt install nginx

上述步骤安装完 Nginx 后,直接启动 Nginx 发现报错,无法启动,显示好像是 80 端口问题,但是通过 sudo lsof -i:80 命令查看,并没有进程占用 80 端口

排查问题

先停止所有和 nginx 相关的进程

sudo killall nginx

通过 sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
nginx: configuration file /etc/nginx/nginx.conf test failed

查看上面的问题,网上很多都说是 etc/nginx/conf.d 目录下的 default.conf 配置文件的问题,但是安装完之后,并没有这个配置文件,于是加了个配置文件,发现报错不一样了,显示已经存在了重复的配置

nginx -v
nginx version: nginx/1.10.3 (Ubuntu)

这是我安装的版本

真正的默认的配置文件在 /etc/nginx/sites-available/default

注释掉 listen [::]:80 default_server; 即可

其它问题

# 还有其它问题就是服务器的 80 端口已被其它进程占用,nginx 启动是要监听 80 端口的,一种是查看占用 80 端口的服务进程,然后停止,还有就是修改 nginx 监听的端口

1、停止占用 80 端口的服务

# 查看占用 80 端口的服务
$ netstat -nap | grep 80
# 或者
$ sudo lsof -i tcp:80
# 找到进程,结束
$ kill -9 进程好
# 启动nginx
$ sudo nginx -c /etc/nginx/nginx.conf

2、修改 nginx 监听端口

$ vim /etc/nginx/sites-available/default

 listen 自定义端口 default_server;