6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

nginxが起動できなかったお話【ポート競合】

Posted at

#0. 結論
nginxが起動できない原因は、apacheが動いていたからだった。
下記のコマンドでapacheを終了させることで、解決した。

sudo service apache2 stop

#1. 実行環境/バージョン
Ubuntu 20.04
nginx/1.18.0 (Ubuntu)

#2. nginxのインストール
下記のコマンドで、nginxのインストールは無事終了

sudo apt update
sudo apt install -y nginx

#3. nginxの起動

下記のコードで、nginxの起動を試みるが...

sudo service nginx start

結果は以下の通り。何度やっても同じ。

Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.

大人しく、「systemctl status nginx.service」、「journalctl -xe」を実行しても解決せず。

#3. エラーログをのぞいてみる

とりあえずnginxのエラーログをみようということで、下記を実行

sudo cat /var/log/nginx/error.log

すると、どうやらポートがすでに使われているらしい。ふーむ。

2021/01/13 14:48:51 [emerg] 940#940: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to [::]:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to [::]:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to [::]:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to [::]:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: bind() to [::]:80 failed (98: Address already in use)
2021/01/13 14:48:51 [emerg] 940#940: still could not bind()

#4. 実行中のプロセスをのぞいてみる

じゃあ誰が使ってるんだよということで、誰が80番のポートを使用しているかを下記のコマンドで確認

sudo lsof -i:80

ん...?なんでapachが動いてるん??動かした記憶ないんだけど。。。

COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2  9335     root    4u  IPv6  39599      0t0  TCP *:http (LISTEN)
apache2 58125 www-data    4u  IPv6  39599      0t0  TCP *:http (LISTEN)
apache2 58126 www-data    4u  IPv6  39599      0t0  TCP *:http (LISTEN)
apache2 58128 www-data    4u  IPv6  39599      0t0  TCP *:http (LISTEN)
apache2 58129 www-data    4u  IPv6  39599      0t0  TCP *:http (LISTEN)
apache2 58130 www-data    4u  IPv6  39599      0t0  TCP *:http (LISTEN)
apache2 58555 www-data    4u  IPv6  39599      0t0  TCP *:http (LISTEN)
apache2 59778 www-data    4u  IPv6  39599      0t0  TCP *:http (LISTEN)

#5. 実行中のプロセスを終了

apacheによって80番ポートが占領されていたことが原因っぽいので、下記のコマンドで終了してみる

sudo service apache2 stop

何も返ってこないので、無事終了したっぽい。
もう一回使用状況を確認すると

sudo lsof -i:80

何も表示されず!!これはきたのでは。

#6. nginxの起動リベンジ

さて、これでどうだ

sudo service nginx start

はい、何も返ってこず、無事起動成功~

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?