ubuntu 20.04 禁止 apache 开机自启动

更新日期: 2020-11-19 阅读次数: 8118 字数: 265 分类: Nginx

ubuntu 20.04 server 重启之后,发现 nginx 没有自启动。

而手动启动 nginx,报错,显示 80 端口被占用。

$ sudo nginx
[sudo] password for xxx:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

排查

无疑,很大概率系统预装了 apache。可能系统重启时,apache 先于 nginx 启动, 所以抢先占住了 80 端口。

$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-11-19 15:35:46 CST; 24min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 461 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 657 (apache2)
      Tasks: 8 (limit: 4485)
     Memory: 36.0M
     CGroup: /system.slice/apache2.service
             ├─ 657 /usr/sbin/apache2 -k start
             ├─ 717 /usr/sbin/apache2 -k start
             ├─ 718 /usr/sbin/apache2 -k start
             ├─ 719 /usr/sbin/apache2 -k start
             ├─ 720 /usr/sbin/apache2 -k start
             ├─ 721 /usr/sbin/apache2 -k start
             ├─1795 /usr/sbin/apache2 -k start
             └─1876 /usr/sbin/apache2 -k start

果然如此。

禁用 apache 开机自启动

首先停掉 apache,然后禁用自启动

$ sudo systemctl stop apache2
$ sudo systemctl disable apache2

对我而言,apache 并没有任何用处,所以直接卸载了。

$ sudo apt remove apache2

验证

reboot 重启系统,这次 nginx 可以正常自启动了。

tags: ubuntu 20.04

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式