1

この記事は最終更新日から1年以上が経過しています。

投稿日

Let’s Encrypt を更新したときCould not bind TCP port 80 because it is already in use by another process on this system (such as a web server) とでた場合の対処法

エラー内容

Let’s Encryptを更新しようとすると下記のエラーが出ます。

sudo certbot renew --dry-run
Attempting to renew cert (kakuuchi.cyou) from /etc/letsencrypt/renewal/kakuuchi.cyou.conf produced an unexpected error: Could not bind TCP port 80 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.. Skipping.
All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/kakuuchi.cyou/fullchain.pem (failure)

対処法

「80のポートが既に使われている、、、」、といったメッセージだったので、一旦Port:80のサービスを落とした後にrenewし、nginxを再起動して解決しました。


# port:80で使っているサービスを確認
sudo lsof -i tcp:80

# port:80で使っているサービスを停止
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill

# Let’s Encrypt を更新(練習)
sudo certbot renew --dry-run

# Let’s Encrypt を更新(本番)
sudo certbot renew

# 停止していたサービスを再起動
sudo systemctl restart nginx
sudo systemctl restart gunicorn

PostScript

webサーバはnginxを使っているのですが、

を見ると sudo certbot renew --dry-run --nginx で更新できるとのことでしたが、なぜがうまくいかず:unamused:

次の更新時で確認するしかない。

Reference

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について
satsukiya
@satsukiya(Kazuo Sato)
キュレーションサイト作成中

コメント

こんにちは、こちら以下に説明があるようなのですが、
https://qiita.com/f_uto/items/4178a9fdd657b78672ea#standalone%E3%81%A8webroot%E3%81%A8%E3%81%AF
https://eff-certbot.readthedocs.io/en/stable/using.html#getting-certificates-and-choosing-plugins

>sudo certbot renew
ですと、standaloneモードで port 80 を握ろうとするみたいです。

>sudo certbot renew --nginx
として nginxモードで稼働させれば、port80を止めずに済むのではないでしょうか。

1
あなたもコメントしてみませんか :)
新規登録
すでにアカウントを持っている方はログイン
1