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

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

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

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

解決済

nginx ドメインでのアクセスができない

ruby_0ct
ruby_0ct

総合スコア57

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

1回答

0評価

1クリップ

6265閲覧

投稿2017/08/26 19:09

編集2017/09/11 06:56

nginx初心者です。

レンタルVPSでWebサイトを公開しようと、CentOS7上でnginx1.12.1を動かしているのですが、ドメインでアクセスしても「応答時間が長すぎます」とエラーを吐かれ、アクセスできない状況です。
しかし、IPアドレスでアクセスするとアクセスできます。

ファイヤーウォールなど行った設定は以下の通りです。

  • CentOS7のファイヤーウォールを確認firewall-cmd --list-allしましたが、

public (active)内に「ports: 80/tcp」があり、80ポートは許可。
ファイヤーウォールをすべて停止しても、アクセスできません。

  • zoneではpublic (active)のサービスにhttpを追加

  • /etc/nginx/conf.d/default.confでは以下のように設定しました。

http { server { listen 80; server_name ドメイン; charset UTF-8; #access_log /var/log/nginx/host.access.log main; location / { root /var/www/html; index index.html index.htm index.php; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } }

インストールしているものは、

  • PHP 5.4.16(cli)
  • PHP 5.4.16 (fpm-fcgi)
  • mysql Ver 14.14 Distrib 5.7.19

です。

どのようにしたら、ドメインからのアクセスが可能になるでしょうか?
教えていただけると幸いです。よろしくお願いします。

###追記
ご回答ありがとうございます。
CHERRYさん
nginxのerror.logを確認しましたが、前回まではエラーログがサイトにアクセスする度に記録されていましたが、先ほど試してみたところ、エラーが記録されませんでした。

そこでnginxを再起動し、再度試してみようとしましたが、起動に失敗しました。

systemd[1]: Starting nginx - high performance web server... nginx[4361]: nginx: [emerg] "http" directive is not allowed here in /etc/nginx/conf.d/default.conf:1 nginx[4361]: nginx: configuration file /etc/nginx/nginx.conf test failed systemd[1]: nginx.service: control process exited, code=exited status=1 systemd[1]: Failed to start nginx - high performance web server. systemd[1]: Unit nginx.service entered failed state. systemd[1]: nginx.service failed.

1行目のhttpに問題があるようですが、全体的にも特に書き方には問題ないように思えますが、起動に失敗するのはなぜでしょうか?

ちなみに、前回のエラーログは以下の通りです。

2017/08/27 15:36:40 [error] 8880#8880: *880 open() "/var/www/html/画像ファイル.png" failed (2: No such file or directory), client: 39.7.47.80, server: サイトのドメイン, request: "GET /画像ファイル.png HTTP/1.1", host: "サイトのIPアドレス"

画像ファイルが開けないとのエラー表示が数件ほど記録されていました。

TaichiYanagiyaさん
ご回答ありがとうございます。
DNSの設定はお名前.comにて行いました。こちらにおいては問題ないと思います。ネームサーバの設定もレンタルVPSの指定通りに設定しました。

何が原因でアクセスできないのかよくわからない状況です。

###追記2 2017/08/30 16:21
CHERRYさん
/etc/nginx/nginx.confinclude /etc/nginx/conf.d/*.conf;がありました。
*の部分にdefaultを指定するのでしょうか?
やってみても同じエラーを吐かれてしまいましたが...

あと、この質問の上記に「nginx.confでは以下のように設定しました。」と記載してしまいましたが、正しくは/etc/nginx/conf.d/default.confの方にhttp{}を記述しています。

紛らわしい誤字で申し訳ありません。修正いたしました。

###追記3 2017/09/11 15:50
manzyunさん
ご回答ありがとうございます。設定から反映されるまで最大2日、3日かかる場合があると調べたところ書いてありましたので、返信が遅くなりました。

VPSは、conchaを利用しております。
ネームサーバーはconohaの指定の設定にしています。
DNSレコードは、conohaに記載されたIPアドレスを追加し、お名前.comの初期設定はそのままにしています。

これまで何回か見直しては、設定し直してやってみましたが、conoha上での設定がうまくいっていない可能性がありました。

conoha上で必要な設定は、
0. 参考資料1の通り、記載されているIPアドレスをconoha上のDNSに追加し
0. 参考資料2の4番にある逆引きホスト名にドメインを入力する

という手順なんですが、昨日設定をし直しました。

今のところまだアクセスできませんが、時間の問題しょうか。

参考資料
0. http://qiita.com/sugra511/items/3b05423d4adeeec5cdd4
0. http://akb428.hatenablog.com/entry/2014/07/20/015906

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

CHERRY

2017/08/27 03:03

ドメインでアクセスした際に、アクセスログとエラーログにメッセージは残っていないでしょうか?
TaichiYanagiya

2017/08/27 05:54

DNS の設定は? ドメインからIPアドレスへの名前解決はできているのでしょうか?
CHERRY

2017/08/29 23:31

エラーメッセージの件ですが、「nginx[4361]: nginx: [emerg] "http" directive is not allowed here in /etc/nginx/conf.d/default.conf:1」と言われているので、/etc/nginx/nginx.conf と /etc/nginx/conf.d/default.conf があって、nginx.conf で 「include /etc/nginx/conf.d/*.conf;」 という行があったりしないでしょうか? (インストール直後の設定ファイルには記載がありました。)

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

nginx

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。