質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

1回答

6751閲覧

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

退会済みユーザー

退会済みユーザー

総合スコア0

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

3グッド

3クリップ

投稿2016/08/15 13:26

編集2016/08/15 14:11

さくらVPS上のUbuntu Serverで、Webアプリを動かそうとしました。
アプリはDjangoで作成しており、nginxとgunicornで動かそうとしています。

しかし、nginxを動かそうとした所で下記エラーが出ました。

linux

1sudo nginx 2nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 3

http://hacknote.jp/archives/15044/
上記サイトでも、同じ事象を紹介されていましたので、それを参考にして下記のとおりにしてみました。

sudo netstat -lnp | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4558/nginx: master tcp6 0 0 :::80 :::* LISTEN 4558/nginx: master

試しに、tcpを止めようと下記のとおりしてみましたが、できませんでした。

sudo service tcp stop Failed to stop tcp.service: Unit tcp.service not loaded.

そもそも他のソフトをインストールしようとしている時に、下記のエラーが生じていました。

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. invoke-rc.d: initscript nginx, action "start" failed. dpkg: error processing package nginx-full (--configure): subprocess installed post-installation script returned error exit status 1 Setting up python-six (1.10.0-3) ... Setting up python-iniparse (0.4-2.2) ... Setting up yum-utils (1.1.31-3) ... Errors were encountered while processing: nginx-full E: Sub-process /usr/bin/dpkg returned an error code (1)

そこで、systemctl status nginx.serviceを実行しました。

systemctl status nginx.service ● 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 Mon 2016-08-15 21:29:04 JST; 52min ago Process: 5165 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE) Process: 5162 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 3962 (code=exited, status=0/SUCCESS) Aug 15 21:29:03 nginx[5165]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) Aug 15 21:29:03 nginx[5165]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Aug 15 21:29:03 nginx[5165]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) Aug 15 21:29:04 nginx[5165]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Aug 15 21:29:04 nginx[5165]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) Aug 15 21:29:04 nginx[5165]: nginx: [emerg] still could not bind() Aug 15 21:29:04 systemd[1]: nginx.service: Control process exited, code=exited status=1 Aug 15 21:29:04 systemd[1]: Failed to start A high performance web server and a reverse proxy server. Aug 15 21:29:04 systemd[1]: nginx.service: Unit entered failed state. Aug 15 21:29:04 systemd[1]: nginx.service: Failed with result 'exit-code'.

どこに手がかりがあるかも分からないので、エラー文をできるだけ全部掲載しました。長文になり申し訳ございません。

どこに問題がありそうかお分かりの方、ご教示頂ければ幸いです。
よろしくお願いいたします。

av-, Youhei-Sakura, etetetetetetete👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

netstat -lnp | grep 80 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)

この警告をみると、ほかのユーザーで起動されたものが見えない状態のようです。
root権限で実行するためにsudoをつけてみたらどうなりますか?

sudo netstat -lnp | grep 80

投稿2016/08/15 13:52

flied_onion

総合スコア2604

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/15 13:55

ありがとうございます。sudoをつけたら、下記のとおりでした。 sudo netstat -lnp | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4558/nginx: master tcp6 0 0 :::80 :::* LISTEN 4558/nginx: master
退会済みユーザー

退会済みユーザー

2016/08/15 14:12

念のため、上記の質問本文もsudoの結果に変更しました。
flied_onion

2016/08/15 14:32

あ、nginxが既に動いてるから追加で起動できない感じなんですね。 だからサービス見ていたわけですね。失礼しました。 psコマンドでプロセス見た場合はどうなるでしょうか。 `sudo ps -ef | grep nginx` あと、ブラウザかcUrlで http://127.0.0.1 にアクセスしたらページは表示されますか? `cUrl http://127.0.0.1`
退会済みユーザー

退会済みユーザー

2016/08/16 01:43

遅くなってすみません。 sudo ps -ef|grep nginx root 4558 1 0 Jun24 ? 00:00:00 nginx: master process nginx www-data 5245 4558 0 Jun24 ? 00:00:07 nginx: worker process myname+ 7552 7512 0 10:38 pts/0 00:00:00 grep --color=auto nginx となりました。(上記mynameは、置き換えています) また、 curl http://127.0.0.1 <html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.10.0 (Ubuntu)</center> </body> </html> となりました。
退会済みユーザー

退会済みユーザー

2016/08/17 05:57

最終的に下記の方法で直りました。 $ sudo kill -SIGTERM 4558 # プロセスを終了させる ↓ $ sudo netstat -lnp | grep 80 プロセスが終了したことを確認 ↓ $ sudo nginx -g 'daemon off;' # 一度フォアグラウンドでnginxが起動できることの確認(Ctrl+Cで終了) ↓ $ sudo systemctl start nginx.service # 起動
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問