nginx: [emerg] bind() to 0.0.0.0:10070 failed (98: Address already in use)
时间: 2023-07-21 20:24:52 浏览: 246
这个错误提示表明 Nginx 尝试绑定到 `0.0.0.0:10070` 这个地址和端口号,但是发现该端口已经被其他程序占用了(错误码 98)。因此 Nginx 无法绑定到该地址和端口,启动失败。
要解决这个问题,你需要找出占用了该端口的程序,并停止它。你可以使用 `lsof` 命令来查看哪个程序在使用该端口,然后使用 `kill` 命令停止它。具体的操作步骤如下:
1. 执行以下命令,查找占用了 `10070` 端口的程序:
```
sudo lsof -i :10070
```
2. 查看输出结果,找到占用了该端口的程序的 PID(进程 ID):
```
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 12345 root 12u IPv4 123456 0t0 TCP *:10070 (LISTEN)
```
在上面的示例中,PID 为 `12345` 的 `node` 程序占用了 `10070` 端口。
3. 执行以下命令,停止占用了该端口的程序:
```
sudo kill PID
```
其中 `PID` 是占用了该端口的程序的进程 ID。例如,如果上面的示例中 PID 为 `12345`,则执行以下命令:
```
sudo kill 12345
```
4. 再次尝试启动 Nginx 服务:
```
sudo systemctl start nginx.service
```
如果端口被占用的程序是你需要的程序,你可以考虑修改 Nginx 的配置,将监听的端口号修改为其他未被占用的端口。
阅读全文