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

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

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

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

Q&A

解決済

1回答

2661閲覧

nginxを利用しているのにファイルの所有者、グループがapache

TomoKubota

総合スコア53

nginx

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

0グッド

0クリップ

投稿2017/04/06 08:02

nginxを使用して、すでに動いているサーバーについて質問です。

nginxが以下のように設定されているのですが、
ドメインAAA: /var/www/AAA/wordpress
サブドメインbb.AAA: /var/www/html/bb
サブドメインcc.AAA: /var/www/html/cc
上記すべてのファイルの所有者、グループともにapacheになっています。
ちなみに、/var/lib/php/session/もapacheでした。

質問としては、以下の2つです。
1.どうして所有者グループがapacheなのにnginxで動くのか
2.もしサブドメインcake.AAAを/var/www/html/cakeというディレクトにして、cakephpを動かそうとした場合、ファイル、セッションの所有者、グループは誰にすべきなのか

以上です。
どなたかお詳しい方、よろしくお願いいたします。

nginx

1//nginx.conf 2 3server { 4 listen 80; 5 server_name AAA.jp.net; 6 include /etc/nginx/default.d/*.conf; 7 return 301 https://www.$server_name; 8} 9 10server { 11 listen 80; 12 server_name www.bb.AAA.jp.net; 13 location / { 14 root /var/www/html/bb; 15 index index.html; 16 } 17} 18server { 19 listen 80; 20 server_name www.cc.AAA.jp.net; 21 location / { 22 root /var/www/html/cc; 23 index index.html; 24 } 25} 26server { 27 listen 80; 28 server_name www.AAA.jp.net; 29 30 include /etc/nginx/default.d/*.conf; 31 return 301 https://$server_name$request_uri; 32 33 error_page 404 /404.html; 34 location = /404.html { 35 root /usr/share/nginx/html; 36 } 37 38 error_page 500 502 503 504 /50x.html; 39 location = /50x.html { 40 root /usr/share/nginx/html; 41 } 42 43 access_log /var/log/nginx/access_80.log main; 44 45 location = /favicon.ico { 46 log_not_found off; 47 } 48 49 location /wp-admin { 50 proxy_pass http://localhost:8080; 51 } 52 53 location /wp-login.php { 54 proxy_pass http://localhost:8080; 55 } 56 57 location /wp-login.php { 58 proxy_pass http://localhost:8080; 59 } 60 61 location = /wp-admin { 62 rewrite ^(.+)$ /wp-admin/index.php; 63 } 64 65 set $do_not_cache 0; 66 if ($http_cookie ~ ^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$) { 67 set $do_not_cache 1; 68 } 69 70 if ($request_method != "GET") { 71 set $do_not_cache 1; 72 } 73 deny ***.***.***.***; 74 75 location / { 76 proxy_no_cache $do_not_cache; 77 proxy_cache_bypass $do_not_cache; 78 proxy_redirect off; 79 proxy_cache zone1; 80 proxy_cache_key $scheme://$host$request_uri; 81 proxy_cache_valid 200 1d; 82 proxy_pass http://localhost:8080; 83 proxy_store_access user:rw group:rw all:rw; 84 85 } 86}

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

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

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

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

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

youki_takemoto

2017/04/06 08:24

どのような問題が発生しているのでしょうか? 単にapacheとなっている理由が知りたいということでしょうか?
TomoKubota

2017/04/06 09:42 編集

質問に書いてあるとおり、1.なぜ動くのか?2.cakeを置く時は、所有者を誰にすべきか?です。
guest

回答1

0

ベストアンサー

1.どうして所有者グループがapacheなのにnginxで動くのか

ファイル(HTML / 画像など)に 読み込み権限 があれば、nginx はリクエストを返せるため。

2.もしサブドメインcake.AAAを/var/www/html/cakeというディレクトにして、cakephpを動かそうとした場合、ファイル、セッションの所有者、グループは誰にすべきなのか

WordPress(PHP全般)をポート番号8080にリクエストを投げているようですが、
Apacheをポート番号8080で動かしているのでしょうか。(推測なのですが)

proxy_pass http://localhost:8080;

"FastCGI" などで動かしているようであれば、推測は外れていることになりますが。

Apacheが存在していて、cakephp もApacheで処理させるのであれば、"apache" に統一するのが無難だと思います。

投稿2017/04/06 12:32

gorogoroIT

総合スコア447

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

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

TomoKubota

2017/04/06 23:52

apacheを見たところ、Listen 8080が設定されていました。 /wp-admin /wp-login.php のpathでアクセスが来た場合には、ご指摘の通りlocalhost:8080で待機しているapacheに投げる、 という設定になっているようです。 cakeで別途、ログイン処理を実装したいのでphpのsessionを使用します。 そうなると、apacheに統一が良さそうですね。 ありがとうございます。 この場合、apache側で、wordpressの受けと別に、cakephpの受けの設定が必要になりますよね。 この点の設定方法については、改めて別の質問を立てさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問