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

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

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

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

Webサーバー

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

Webサイト

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

Q&A

解決済

1回答

7895閲覧

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

ruby_0ct

総合スコア57

nginx

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

Webサーバー

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

Webサイト

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

0グッド

1クリップ

投稿2017/08/26 19:09

編集2017/09/11 06:57

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

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

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

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

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

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

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;」 という行があったりしないでしょうか? (インストール直後の設定ファイルには記載がありました。)
guest

回答1

0

ベストアンサー

本日(2017-09-08)までの追記を見ている限りだと、ドメインの設定が上手くいってなさそうな気がします。

お名前.comでのDNSレコードの設定はどのようになっているか、今一度確認してみてください。

特に どちら(ドメインサービス | VPS)のDNSを見に行ってるか を今一度確認してみてください。

お名前.comに以下のような記述がありました。

#ご注意事項

DNSレコード設定を利用するドメインは以下のネームサーバーを設定してください。

01.dnsv.jp
02.dnsv.jp
03.dnsv.jp
04.dnsv.jp

また、ドメイン設定が反映されるまで数分以上かかることは踏まえておいてください。

私はあまり認めたくないですが、ドメイン情報が各プロバイダのDNSまで反映されるのに時間がどうしてもかかります。(体験談)
「30分待って繋がらない様だったら設定を見直す」
くらいのつもりでドメイン設定しましょう。

参考資料

DNSレコード設定 - お名前.com
浸透言うな! - E-ONTAP

投稿2017/09/08 06:05

manzyun

総合スコア2244

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

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

ruby_0ct

2017/09/11 13:24

先ほどアクセスしたところ、見事つながりました! やはり、ドメインの設定がうまくいっていなかったようでした。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問