nginx

NGINX Amplifyを使ってNGINXの状況を監視したりステータスを確認してみる

日々新しいツールや技術が生まれ、歳を取ると頭が追いつかなくなるというのは 何となく分かるような気がしてきました。 ということで NGINX Amplify というのを試してみようと思います。     NGINX Amplify とは NGINX を監視するSaaSです。 https://www.nginx.com/amplify/ Datadogや、Mackerelみたいな感じで NGINX のステータスだけでなく、一応はマシンのリソースとかも確認できる。 NGINX のステータスだけでなく、マシンのリソースをトリガーとしても アラートを出すことができます。 現在はベータで今は無料で使用できますが、正式にリリースされた後は、 もしかしたら NGINX+ (NGINX Plus) だけの提供になりそう。     NGINX Amplify のインストール 会員登録をし、NGINX Amplify にログインをするとインストールの仕方が書かれています。 stub_status とログの設定に関しては必須要件でないものの、 有効にしておくと監視できる項目が増えます。 外部から参照できる必要性はなくてインストール方法にかかれている通り、 ローカルホストからのみアクセスができればいいそう。     機能 NGINX Amplify の機能について。 大雑把に機能紹介   グラフ ログインするとダッシュボードが表示されます。 メトリクス含め、グラフも結構な量が表示されていて困ることは無いかと思うレベル。 ファイルディスクリプタ数が見れるのは中々良いと思います。     ダッシュボード ダッシュボードも自分で作成することができる。 右上を見て分かる通り、時間帯も選択できるけど細かい日時指定はまだできないっぽい。 グラフの描画上にマウスポインタを合わせることで分まで分かるものの、 秒までは分からなかった…。     Analyzer ここもめっちゃいい機能だと思う。 NGINX の設定を確認することができる。 SSL証明書の概要だったり、設定の不備を教えてくたり 中々に便利な機能。 default.conf は存在しているのに見つからないエラーが出るのはバグなのかな。     アラート機能 閾値を設定することがメールで通知することができる。 まだメールだけでの通知だけど今後、Slackとかも対応してくれると良いなあ。

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-5b28892a24e7a715554625/]       後段リバースプロキシ リクエストURLが /gallery/docker のものは http://docker へ /gallery/docker1 のものは http://docker1 へと言った感じにします。 また、Wordpress(docker)のNginxがリクエストURLを見たときに /gallery/docker が含まれないようにします。 [crayon-5b28892a24e8b539759532/] 最上リバースプロキシでは 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-5b28892a24e8e564770173/]   これらの設定をすることで管理画面へログインしても正常に動作すると思います。     php-fpm の設定を変更する wp-config.php の編集ではなく、Wordpress(docker)側の php-fpm の設定でも可能です。…