docker + nginx + php-fpm で wordpress のリソース取得で 403 が返ってくる話
docker で wordpress 立てたいと思い、nginx + php-fpm の構成でやってみたら、全くスタイルが当たってなくてビビった。
リソース(.css、.js)の取得で 403 エラーが返ってきてる。
PHP は動いているのにリソースが取れないってどういうこと?
Webは得意分野じゃないから、パーミッションの問題、ユーザーの問題(コンテナ間のユーザーの相違)を疑っていろいろ試してみたけど解決せず。
1ヶ月くらい経って改めて試してみたら、めちゃくちゃ初歩的なミスだったんだけど、docker 初心者は意外と同じミスしそうな気がしたので、メモ。
結論からいうと、docker-compose.yml で nginx からも php からも wp ルートをマウントしてあげないとダメだよって話。
ホスト側の app ディレクトリが wp ルートの場合。
<悪い例>
version: '3'
services:
web:
image: nginx:alpine
ports:
- "8000:80"
depends_on:
- app
volumes:
- ./web/nginx/default.conf:/etc/nginx/conf.d/default.conf
app:
image: php:7-fpm-alpine
volumes:
- ./app:/var/www/html
depends_on:
- db
...
<上手くいく例>
version: '3'
services:
web:
image: nginx:alpine
ports:
- "8000:80"
depends_on:
- app
volumes:
- ./web/nginx/default.conf:/etc/nginx/conf.d/default.conf
- ./app:/var/www/html # ←追加
app:
image: php:7-fpm-alpine
volumes:
- ./app:/var/www/html
depends_on:
- db
...
とあるサイトで解説されていたのを参考に最初の設定にしてたんだけど、まんまとハマった。
※他にも違う解決方法があるんだろう。
これで、無事リソースが取得でき、スタイルが当たるようになりました。
終わり。
Author And Source
この問題について(docker + nginx + php-fpm で wordpress のリソース取得で 403 が返ってくる話), 我々は、より多くの情報をここで見つけました https://qiita.com/h_kusano/items/a1c59faae46037bc0e0c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .