无法启动 apache HTTP 服务器

无法启动 apache HTTP 服务器

将我的 Laravel 项目推送到我的开发服务器后,似乎无法再运行 apache 2。

运行命令行后:

sudo systemctl status apache2

我收到以下错误:

● apache2.service - Apache HTTP 服务器已加载:已加载(/lib/systemd/system/apache2.service;已启用;供应商预设:已启用)活动:失败(结果:退出代码)自 2020-02-03 星期一 02:17:48 UTC;1 分 17 秒前进程:1631 ExecStart=/usr/sbin/apachectl start(代码=exited,状态=1/FAILURE)

在 Google 上搜索一下后,发现 apache 无法启动,因为多个进程正在使用端口 80。

但是,运行命令行后:

sudo lsof -i tcp:80

我获得了以下进程的列表:

命令 PID 用户 FD 类型 设备大小/关闭 节点名称 google_ne 716 root 7u IPv4 18497 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34086->metadata.google.internal:http (已建立) google_ac 717 root 5u IPv4 18475 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34082->metadata.google.internal:http (已建立) google_cl 719 root 5u IPv4 18478 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34084->metadata.google.internal:http (已建立) google_cl 719 root 6u IPv4 18402 0t0 TCP 实例开发-webapp-eatology.c.webapp-eatology.internal:34080->metadata.google.internal:http (CLOSE_WAIT)

问题是,我不明白如何终止每一个进程,我尝试了许多命令行但都没有成功。

感谢您的帮助 !

答案1

跑步 :

netstat -tulpn | grep 80 

看一下这一行:

Proto : tcp
Local address : *.*.*.*:80

获取 Pid 或进程名称列值:

<pid_or_process_name>:80

使用其 pid 或进程名称终止占用端口 80 的进程:

pkill -9 <process_name> 

或者

kill -9 <pid>

最后,这仍然是一个解决方法,您必须找出负责公开端口 80 的进程并禁用它,或者只是更改其配置文件以指向不同的端口而不是 tcp/80,因为重新启动后您会遇到同样的问题。

相关内容