リバースプロキシ

nginxの多段リバースプロキシ環境でWordpessをパス指定で振り分ける

nginxの多段リバースプロキシを使って、パスによって振り分け先はWordpressにしてみます。 そもそもサブドメインで振り分けるのが設定も複雑にならず、分かりやすくていいんですけどね…。     目標 多段リバースプロキシの環境でパスによって参照するWordpressの乗ったサーバーを振り分ける。 例) http://hoge.com/gallery/docker と http://hoge.com/gallery/docker1 は別なWordpress Dockerfileは下記のものを使いました。 [blogcard url=”https://github.com/eugeneware/docker-wordpress-nginx”][/blogcard]     構成 最上リバプロ : nginx 後段リバプロ : nginx WordPress  : nginx WordPressが乗ってるコンテナはDockerです。docker,docker1,docker2はそれぞれ独立したコンテナです。 また、Wordpress側はローカルでクライアントからIPアドレスだけで開ける状態です。 リクエストパスに /gallery があるものは後段リバプロへ行き /gallery/docker は dockerコンテナへ /gallery/docker1 は docker1コンテナへといった感じです。     設定 WordPressが載ってるNginxから見たリクエストURLには /gallery/docker が含まれるともちろんですが 404 が返ってきます。 しかしWordpressが載ってるコンテナのPHPから見た $_SERVER のREQUEST_URI, SCRIPT_NAME, PHP_SELF に /gallery/dockerが含まれていないとPHP側が返す(作成する)ヘッダには /gallery/docker が含まれないレスポンスURLになってしまい、 ログインはできても管理画面が http://hoge.com/wp-admin となり、/gallery/docker が含まれずそれ以降どこのリンクを押しても 404 となります。     最上リバースプロキシ 最上リバースプロキシは後段リバースプロキシへ /gallery というパスを伝えないといけないので http://docker-reverse-proxy/gallery というリクエストURLで後段リバースプロキシへ。 [crayon-5b288918ed517079947980/]       後段リバースプロキシ リクエストURLが /gallery/docker のものは http://docker へ /gallery/docker1 のものは http://docker1 へと言った感じにします。 また、Wordpress(docker)のNginxがリクエストURLを見たときに /gallery/docker が含まれないようにします。 [crayon-5b288918ed530644991410/] 最上リバースプロキシでは location ディレクティブの後ろに / をつけませんでしたが 後段リバースプロキシでは付与します。 ココらへんの説明は下記のサイトさんが詳しいです。 [blogcard url=”https://www.xmisao.com/2014/05/09/nginx-proxy-pass.html”][/blogcard]     WordPress(docker)側の設定 – wp-config.php 前述した通り、PHPから見た $_SERVER のREQUEST_URI, SCRIPT_NAME, PHP_SELF には /gallery/dockerが含まれていないと 404 になってしまうのでグローバル変数を書き換えます。 [crayon-5b288918ed536633219391/]   これらの設定をすることで管理画面へログインしても正常に動作すると思います。     php-fpm の設定を変更する wp-config.php の編集ではなく、Wordpress(docker)側の php-fpm の設定でも可能です。…

nginx + リバースプロキシ + SSL でWordPressを動かす

1日10万PVぐらいのWordpressを管理することになってどうがんばっても8秒を切れない。 そこでテスト環境に入れた nginx + リバースプロキシ + SSL でWordpressを動かした時のコンフィグを覚書として。 nginx.conf [crayon-5b288918edc20104002866/] [crayon-5b288918edc32743960945/] SSLで動かす際に大事なのがこれで、この記述がないと [crayon-5b288918edc37325739243/] こんな感じにコンテンツがブロックされて、レイアウトが崩れた誰もが1度は見たことある状況になります。 ちなみに [crayon-5b288918edc3a067422486/] この記述はなくても普通に動く。ヘッダーに設定すればこの記述は不要なのかなと思って [crayon-5b288918edc3e732365058/] これを消して [crayon-5b288918edc41376685539/] これだけの記述にしたけど同様に [crayon-5b288918edc44370752883/] と怒られた。   default.conf [crayon-5b288918edc48388891946/]     mobile_cache_setting [crayon-5b288918edc4e053349617/]     php_exec [crayon-5b288918edc53819635922/]   WordPressで記事更新時などのキャッシュ削除は Nginx Cache Controller を使うようにした。 もう1つ名のしれてるやつは、パッケージから入れた場合 ngn_cache_purge モジュールが入ってないために使えない”らしい”。 Nginx Cache Controller はキャッシュディレクトリと、レベルを指定することで同じことを実現してるのかな? ngn_cache_purge モジュールを使ったことないので適当に言いました!

「Raspberry Pi Zero」でWordPress動かすならリバースプロキシは必須だ

Raspberry Pi Zero シリーズ 第三弾! 「Raspberry Pi Zero」を買ってみた。【外観編】 500円パソコン「Raspberry Pi Zero」を使ってみた。【Unixbench】   Raspberry Pi Zero に WordPressをいれてベンチマーク 構成としては Nginx + php7-fpm という構成です。Wordpressは最新の4.4.1 ベンチマークに、Loadimpactを使いました。 abとか、wrkでも良かったんですけどこういうのって、CMSとかだときちんとした数値とれるんですかね?リクエスト投げて何かしら返ってきたらはい終わり!ってやつだと思うんですけど(?)   Active 30ユーザーぐらいからどんどんロードタイムが伸びていくのが分かると思います。 45ユーザーで最高値となって25秒とロード時間が長い。   こっちはリバースプロキシを使った時 最長でも6秒とさすがといったところ!個人で使うブログぐらいだったら何も問題なさそう。 ストレージが microSD がちょっと難点だけど。 CMSにも使えるぞ!Raspberry Pi Zero!

no image

Apache2 + Nginxリバースプロキシ でWordPressを動かしてみた。動かしてる。

ちょっとの間アクセス出来なかっと思いますが 特に申し訳ないとか思ってないです。何よりPVが下がるのとアフィリエイトのことを考えて必死に設定してました。