nginx 80 端口被占用,找到对应进程杀不完, kill 完就会有新的怎么解决

2023-12-05 10:31:23 +08:00
 zhj0326

nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use) nginx: [emerg] still could not bind()

ss@sdeMacBook-Pro ~ % ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)' PID PPID %CPU VSZ WCHAN COMMAND 4587 4506 0.0 408636112 - egrep (nginx|PID) ss@sdeMacBook-Pro ~ % sudo kill -9 4587 kill: 4587: No such process ss@sdeMacBook-Pro ~ % ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)' PID PPID %CPU VSZ WCHAN COMMAND 4592 4506 0.0 408626896 - egrep (nginx|PID)

3649 次点击
所在节点    NGINX
38 条回复
lerry
2023-12-05 10:40:58 +08:00
killall -9 nginx
dzdh
2023-12-05 10:47:47 +08:00
杀 master 进程。你是不是杀子进程了。要杀 master 才行。
dzdh
2023-12-05 10:48:06 +08:00
mac 上用 brew services stop 。自己编译的另说。
lisxour
2023-12-05 11:15:19 +08:00
是不是有守护服务,你不关掉守护,杀不掉的
zhj0326
2023-12-05 11:18:18 +08:00
@lerry 试了,不行
zhj0326
2023-12-05 11:18:33 +08:00
@dzdh 怎么杀 master
zhj0326
2023-12-05 11:19:44 +08:00
在哪儿关呢?
ysc3839
2023-12-05 11:26:29 +08:00
为什么要 ps 后面跟一堆乱七八糟的参数,然后 grep 为什么不直接 grep nginx 呢?输出里都没 nginx 进程,直接 ps aux | grep nginx 不就好了?
zhj0326
2023-12-05 11:30:46 +08:00
@ysc3839 ss@sdeMacBook-Pro ~ % ps aux | grep nginx

ss 8358 0.0 0.0 408636112 1552 s002 S+ 11:29 上午 0:00.00 grep nginx

ss@sdeMacBook-Pro ~ % sudo kill -9 8358

kill: 8358: No such process

ss@sdeMacBook-Pro ~ % ps aux | grep nginx

ss 8362 0.0 0.0 408637136 1632 s002 S+ 11:29 上午 0:00.00 grep nginx

ss@sdeMacBook-Pro ~ % sudo kill -9 8362

kill: 8362: No such process

kill 不完
ysc3839
2023-12-05 11:40:27 +08:00
@zhj0326 这里输出的进程是 grep nginx ,并没有 nginx 进程
rrfeng
2023-12-05 11:46:52 +08:00
是 nginx 想要用 80 ,但是 80 被别人占了,你们教楼主 kill nginx 有屁用啊……
zhj0326
2023-12-05 11:49:52 +08:00
@rrfeng So ? 大佬有好的解决办法嘛 = =
seeyourface
2023-12-05 11:52:59 +08:00
@zhj0326 你是不是部署了个 8080 端口的应用,改应用端口或者改 nginx 监听端口
oamzn
2023-12-05 11:56:09 +08:00
nginx: [emerg] bind() to 0.0.0.0:8080 failed
我笑笑不说话
344457769
2023-12-05 11:59:49 +08:00
命令行不会搞的话,就去活动监视器里看看占用 8080 端口的进程的父进程是谁,能不能强制退出。
winterbells
2023-12-05 12:03:49 +08:00
Nginx 退出是 nginx -s quit
到底谁在占用
lzy250
2023-12-05 12:09:54 +08:00
找 8080 吧?
darklinden
2023-12-05 12:34:03 +08:00
mac? 自带的 apache 开着的吧?关了就好

用命令行的时候看不懂英文的话好歹把输出粘谷歌翻译看下说的是啥啊...
huadi
2023-12-05 12:36:14 +08:00
netstat -ntlp | grep 8080
或者 ss -ntlp | grep 8080
看哪个进程占用了 80 端口,然后 kill
dzdh
2023-12-05 12:36:17 +08:00
lsof -iTCP -sTCP:LISTEN -P | grep :80

找到哪个进程监听的 80 端口

没有 lsof 的话先安装 lsof brew install lsof

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/997692

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX