PHPのバージョンアップしたらNginxが起動しなくなった件

thumbnail
2023/05/16

状況

Ubuntu22.04.2で、PHPをPHP7.4からPHP8.1にアップデートした.

OSを再起動したら(再起動までは正常に機能)Nginxが起動しなくなった.

× nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2023-05-14 14:54:44 UTC; 12min ago
       Docs: man:nginx(8)
    Process: 2598 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 2599 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
        CPU: 93ms


May 14 14:54:43 akitoshi-lab nginx[2599]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
May 14 14:54:43 akitoshi-lab nginx[2599]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
May 14 14:54:43 akitoshi-lab nginx[2599]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
May 14 14:54:43 akitoshi-lab nginx[2599]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
May 14 14:54:44 akitoshi-lab nginx[2599]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
May 14 14:54:44 akitoshi-lab nginx[2599]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
May 14 14:54:44 akitoshi-lab nginx[2599]: nginx: [emerg] still could not bind()
May 14 14:54:44 akitoshi-lab systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
May 14 14:54:44 akitoshi-lab systemd[1]: nginx.service: Failed with result 'exit-code'.
May 14 14:54:44 akitoshi-lab systemd[1]: Failed to start A high performance web server and a reverse proxy server.

原因

どうもPHPをアップデートするときにAppache2がインストールされることで,再起動後にAppacheが起動してしまい,競合することで,Nginxが落ちているらしい.

とわかった.

参考:

対策

という事で,Appacheを消す!

sudo apt-get remove apache2

(ここでsudo apt-get purge apache2をしちゃうと設定ファイルがたぶん消えちゃうので注意)

user@akitoshi-lab:~$ sudo apt-get remove apache2
[sudo] password for user:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apache2-data apache2-utils
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  apache2
0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded.
After this operation, 546 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 125857 files and directories currently installed.)
Removing apache2 (2.4.52-1ubuntu4.5) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for gitweb (1:2.34.1-1ubuntu1.9) ...
Processing triggers for ufw (0.36.1-4build1) ...
Rules updated for profile 'Nginx Full'
Rules updated for profile 'OpenSSH'
Skipped reloading firewall

で,

sudo systemctl start nginx

結果

これで動くようになった.

よかった.よかった.

終わり.

Buy Me A Coffee