コンテンツへスキップ
ホーム » サーバを OpenLiteSpeed から Docker + nginx + php-fpm + mariadb へ移行

サーバを OpenLiteSpeed から Docker + nginx + php-fpm + mariadb へ移行

使い勝手が悪すぎた OpenLiteSpeed

当初は最速と名高いOpenLiteSpeedでした。それに惹かれて、サーバをopenlitespeed化したのが 2020/10/03 です。

このブログを OpenLiteSpeed 化しました
https://nakoruru.jp/this_blog_is_now_openlitespeed/

ところが当初から .htaccess に制限があったり、思っていたほど早くない、更に大きな画像を入れていくとサーバの負荷がとんでもない事になる、という問題点を抱えていました。

ある案件で Docker(コンテナ化) のお仕事を受けた

そんな環境で不満を持っていたのですが、最近になって Docker での構築を依頼されて勉強していたのですが、今度はその実験も兼ねて、自鯖を Docker + nginx + php-fpm + mariadb にする事にしました。自分の所で使えないものを他社に納品する訳には行かないので、その実証実験も兼ねてです。

docker-compose を利用しようと思ったのですが、xml にするだけめんどいなと思ったので、全て docker コマンドにシェルスクリプト で管理系全てを実装しました。当然自分以外の方でも管理できるように confファイルは外部に書き出し、そこを弄る事で docker 関係の起動等を色々と行えるようにしています。外部には公開していませんが、portainer も起動しているので本当の素人さんでも弄れます。(内部のリモートデスクトップに接続しないと外部からアクセスできないので安全設計)

全てのコンテナは公式サイトから取得した後、自分の環境に自動でビルドされるようにしています。これにより、コンテナ自体を更新しても同じ設定・同じ環境でコンテナを起動する事ができます。nginx の conf.d は全てホスト側に置いてマウントしてあるので、そちらで nameserver.conf を追加してコンテナを再起動するだけで適応されます。いちいちコンテナのコンソールに入る必要はありません。

バックアップも自動化し、データベースは日時でdump取得。各コンテナは週1でバックアップを取って数世代管理しています。

ノウハウは宝

コンテナ化したのでクラウドへサーバを移設するのも楽ですし、更に色々と設定をチューニングしたのでサイト表示速度もめちゃ早になりました。

こんな感じで、nginxはnginx-container, php-fpmもphp-fpm-containerとしてbuildしています。内部は色々とカスタマイズしてるので極秘(笑) 起動ユーザーを変えたり、色々としています。そこから mariadb へ内部で接続しています。

鯖自体のスペックは大した事ありません。メモリ8GBで4core。ベースのOSはESXi上で動作しているので、それなりに多段動作していますが、OpenLiteSpeed よりかは早いですしメモリも食いません。OSの設定はまあ自分なりに作った適当設定ですが、まあまあ良いかと。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください