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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

729閲覧

WEB3層アーキテクチャの実装について

hasue

総合スコア155

nginx

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/07/12 12:44

お世話になります。
WEB3層アーキテクチャの実装について教えてください。

一般的にWEB3層アーキテクチャの構成として下記のように認識しています。

  • WEBサーバ - Apache, nginx
  • APPサーバ - php-fpm
  • DBサーバ - MySQL

そこで質問なですが、WEBサーバにnginx、APPサーバにphp-fpmをセットアップし動作できるようにした場合
nginx側でPHPの処理をphp-fpmになげて処理をさせることになると思います。
このとき、WEBサーバとAPPサーバは別々のサーバになりますが
URLでアクセスしたときのファイルはどちらの環境にもないと動作しません。

例)
http://hogehoge.com/index.php にアクセスした場合

[WEBサーバ]
/var/www/public/index.php

[APPサーバ]
/var/www/public/index.php

上記の両方にファイルがないと404エラーになります

セキュリティを考慮した場合、DBの接続情報等はAPPサーバにのみ配置したほうがいいかと思うのですが
両方にファイルを置かないといけないのであれば、負荷分散的な意味はありますがセキュリティ的な意味はあまりないように感じます。

一般的にはそれでも問題ないのでしょうか。
それとも、やはり考え方が間違っているのでしょうか。

以上、宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

上記の両方にファイルがないと404エラーになります

別の方もおっしゃってますが、Nginxが正しくリダイレクトできて入れば、APサーバーの方にあれば問題ないかと思います。

Nginxの設定を見直してみると良いかと思います。

投稿2018/07/13 14:28

mtb_beta

総合スコア181

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

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

0

ベストアンサー

URLでアクセスしたときのファイルはどちらの環境にもないと動作しません。

それは、単に設定が不適切なだけでしょう。実行するPHPファイルをピックアップしてnginx.confにPHP-FPMへ流す旨の設定をすれば、nginx側に実ファイルがなくても動作します。

WordPressや多くのPHPフレームワークでは、直接実行するファイルがごく限られる(理想的にはフロントのindex.phpにすべてを流す)ので、ほぼ問題となりません。

投稿2018/07/12 13:00

編集2018/07/12 13:04
maisumakun

総合スコア145183

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

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

hasue

2018/07/19 06:08

ありがとうございます。 ご指摘いただいた方法で実現できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問