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

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

ただいまの
回答率

88.05%

AWS EC2でnginxが起動できない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,787

score 34

AWS EC2でnginxの起動をを試みていますがエラーが出て起動ができません。
背景と経緯を記載します。
Nginx起動への解決策を教えていただけると助かります。

背景:AWS(EC2)にRailsのWebアプリをデプロイ
参考:https://qiita.com/iwaseasahi/items/b28f8b91c4638e2c57fd

Nginxをインストール:
コマンド:$ sudo yum install -y nginx 
でインストールできなかったので代わりに以下でインストール
コマンド:$ sudo amazon-linux-extras install nginx1
結果:Installed: nginx.x86_64 1:1.16.1-1.amzn2.0.1 
確認:$ nginx -v => nginx version: nginx/1.16.1

Nginxを起動:
コマンド1:$ sudo /etc/init.d/nginx start 
結果:command not found

コマンド2:$ sudo service nginx start
結果:Redirecting to /bin/systemctl start nginx.service
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

コマンド3:$ sudo /bin/systemctl start nginx.service
結果:The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

追記:参考のためステータスを出力しました
コマンド:$ sudo systemctl status nginx.service
結果: nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2020-01-09 13:04:39 UTC; 21s ago
Process: 31933 ExecStart=/usr/sbin/nginx (code=exited, status=1/FAILURE)
Process: 31929 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 31928 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)

Jan 09 13:04:37 ip-10-0-10-10.ec2.internal nginx[31933]: nginx: [emerg] bind() to [::]...)
Jan 09 13:04:38 ip-10-0-10-10.ec2.internal nginx[31933]: nginx: [emerg] bind() to 0.0....)
Jan 09 13:04:38 ip-10-0-10-10.ec2.internal nginx[31933]: nginx: [emerg] bind() to [::]...)
Jan 09 13:04:38 ip-10-0-10-10.ec2.internal nginx[31933]: nginx: [emerg] bind() to 0.0....)
Jan 09 13:04:38 ip-10-0-10-10.ec2.internal nginx[31933]: nginx: [emerg] bind() to [::]...)
Jan 09 13:04:39 ip-10-0-10-10.ec2.internal nginx[31933]: nginx: [emerg] still could no...)
Jan 09 13:04:39 ip-10-0-10-10.ec2.internal systemd[1]: nginx.service: control process ...1
Jan 09 13:04:39 ip-10-0-10-10.ec2.internal systemd[1]: Failed to start The nginx HTTP ....
Jan 09 13:04:39 ip-10-0-10-10.ec2.internal systemd[1]: Unit nginx.service entered fail....
Jan 09 13:04:39 ip-10-0-10-10.ec2.internal systemd[1]: nginx.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

追記2:コマンドの結果を記載しました。
コマンド1: $ sudo systemctl -l status nginx.service
結果: nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2020-01-09 22:30:15 UTC; 19s ago
Process: 1077 ExecStart=/usr/sbin/nginx (code=exited, status=1/FAILURE)
Process: 1074 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1073 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)

Jan 09 22:30:14 ip-10-0-10-10.ec2.internal nginx[1077]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jan 09 22:30:14 ip-10-0-10-10.ec2.internal nginx[1077]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jan 09 22:30:14 ip-10-0-10-10.ec2.internal nginx[1077]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jan 09 22:30:15 ip-10-0-10-10.ec2.internal nginx[1077]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jan 09 22:30:15 ip-10-0-10-10.ec2.internal nginx[1077]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jan 09 22:30:15 ip-10-0-10-10.ec2.internal nginx[1077]: nginx: [emerg] still could not bind()
Jan 09 22:30:15 ip-10-0-10-10.ec2.internal systemd[1]: nginx.service: control process exited, code=exited status=1
Jan 09 22:30:15 ip-10-0-10-10.ec2.internal systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
Jan 09 22:30:15 ip-10-0-10-10.ec2.internal systemd[1]: Unit nginx.service entered failed state.
Jan 09 22:30:15 ip-10-0-10-10.ec2.internal systemd[1]: nginx.service failed.

コマンド2: $ sudo nginx -t
結果: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • scsi

    2020/01/09 22:22

    sudo yum install -y nginx でなぜインストールできなかったのですか?

    キャンセル

  • yu_1985

    2020/01/10 03:21

    横からですが、Amazon Linux2では正しい挙動です

    キャンセル

  • yu_1985

    2020/01/10 03:31

    sudo systemctl -l status nginx.service
    sudo nginx -t
    あたりの結果を貼ってください

    キャンセル

  • marokak

    2020/01/10 07:34

    scsi様、yu_1985様、コメントありがとうございます。
    コマンドの結果を追記しました。
    ご確認よろしくお願いします。

    キャンセル

回答 1

check解決した方法

0

何かが邪魔してるのかと思い、調べてみたら前に自動起動設定したApacheがあるのを思い出しました。
削除して以下でインストールしてステータス出力したらactiveになってたので、多分大丈夫だと思います。(1インスタンスでApacheとNginxの両方がなぜ使えないのかはまだ分かりませんが)
ご協力ありがとうございました!

$ sudo /bin/systemctl start nginx.service
$ sudo systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2020-01-09 22:54:36 UTC; 20s ago
Process: 1498 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 1495 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1494 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 1501 (nginx)
CGroup: /system.slice/nginx.service
├─1501 nginx: master process /usr/sbin/nginx
└─1502 nginx: worker process

Jan 09 22:54:36 ip-10-0-10-10.ec2.internal systemd[1]: Starting The nginx HTTP and rev....
Jan 09 22:54:36 ip-10-0-10-10.ec2.internal nginx[1495]: nginx: the configuration file ...k
Jan 09 22:54:36 ip-10-0-10-10.ec2.internal nginx[1495]: nginx: configuration file /etc...l
Jan 09 22:54:36 ip-10-0-10-10.ec2.internal systemd[1]: Failed to read PID from file /r...t
Jan 09 22:54:36 ip-10-0-10-10.ec2.internal systemd[1]: Started The nginx HTTP and reve....
Hint: Some lines were ellipsized, use -l to show in full.

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/01/10 11:13

    エラーになってしまったのは

    Jan 09 22:30:14 ip-10-0-10-10.ec2.internal nginx[1077]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

    というメッセージを見ても分かる通り、nginxが使おうとしているポートが既に使われているからでしょうね。
    両方を起動する理由も特にないでしょうけど…。

    キャンセル

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

  • ただいまの回答率 88.05%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る