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

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

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

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

Ubuntu

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

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

2回答

13959閲覧

nginxを使って、localhost:8080に接続できない

Masaya_Murakami

総合スコア25

nginx

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

Ubuntu

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

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2016/11/30 06:31

編集2022/01/12 10:55

VirtualBox上でUbuntu+Ansibleでサーバー構築などを行いながら、Ansibleの勉強をしています。playbookにnginxをインストールするようにして、nginxの設定も書いたはずなのですが、localhost:8080に接続できません。最初はApacheのほうに接続されていたので、virtualBoxアプリケーション内でその仮想マシンを停止させたのですが、繋がりません。これはすでにApacheがポート80番をとっていることが原因でしょうか?また、Apacheは完全にアンインストールしないほうがよろしいでしょうか?
よろしくお願いします。

設定ファイル

server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; } }

現在はローカルマシンの8080番ポートがVagrantマシンの80番ポートにマッピングしています

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

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

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

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

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

kunai

2016/11/30 06:35

同じ80番では接続出来ないと思いますが、8080等Apacheが使っていないPortであればつながるはずです。 ただ、nginxの設定ファイルを提示するなどいただけないと何が原因かを探るのは難しいです
coco_bauer

2016/11/30 08:57

システムの構成が理解できません。Apacheに接続されたりnginxに接続されたりという事ですが、Apacheとnginxは同じバーチャルマシンで動いているのですか、それとも別のバーチャルマシンですか? 「localhost:8080に接続できません」というのは、どのバーチャルマシンからアクセスしようとした場合なのでしょうか?
guest

回答2

0

port 8080ではなく、思いっきり80でListenする設定になってますよ。

listen 80 default_server; listen [::]:80 default_server ipv6only=on;

投稿2016/11/30 06:42

Y.H.

総合スコア7914

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

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

Masaya_Murakami

2016/11/30 06:53

listen 8080 default_server; listen [::]:8080 default_server ipv6only=on; にするとして、設定したVagrant fileの中身も変えますか? 現在はローカルマシンの8080番ポートがVagrantマシンの80番ポートにマッピングしています
Y.H.

2016/11/30 06:56

質問に記載されていた内容から回答しました。 >現在はローカルマシンの8080番ポートがVagrantマシンの80番ポートにマッピングしています このことは質問のどこにも書かれてなかったので私に知りようがないです。
Y.H.

2016/11/30 06:57

回答が間違っていたのであれば申し訳ない。ぽちっと評価下げといてください。
Masaya_Murakami

2016/11/30 07:01

情報不足ですみません。 この追記した情報を踏まえた上での何か解決策がありましたら、教えていただけると幸いです。
guest

0

1点目
Apacheの80番を変えたくないのであれば、Nginxは8080等でlistenさせるようにしてください。

2点目
「localhost:8080に接続できません」とありますので、アクセスしているのはVagrantマシン内のブラウザなりでアクセスされているんですよね?
2.1
そうであれば「localhost:8080」でアクセスしても、ここでアクセスしている8080はVagrant内部のPort番号ですので、マッピングに関係なく8080ポートを見に行きます。
つまり、Nginx側は8080をListenする必要があります。
2.2
そうではなくVagrantがインストールされているPCからアクセスされているのであれば、「localhost」指定はNGです。
PCブラウザから「localhost」でアクセスすると、あくまでPCに直接構築されたHTTPDが参照されるはずです。(hostsとかで書き換えしていなければ)

個人的には、ひとまず8080→80へのマッピングをやめて(設定削除して)、Nginx側は8080をListenする。その上でVagrantに割り当てられたIPアドレス宛てに「http://IPアドレス:8080」をPC側のブラウザで開くか、「http://localhost:8080」をVagrant内のブラウザなりcurlなりwgetなりで開いてみてください。

投稿2016/11/30 08:47

kunai

総合スコア5405

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問