ubuntu 20.04 禁止 apache 开机自启动

文章目录

    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 可以正常自启动了。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式