については、みなさんもすでにご存知でしょう。テーマButterflyのデフォルトの訪問者数統計機能として、無料の公益サービスとして多くの静的サイトで利用されています。しかし、このBusuanziが多くのブログの読み込み速度を遅くする原因となっているのも事実です。昨年、洪さんのブログで「自前でbusuanzi(不蒜子)プラットフォームを構築する方法」という記事を目にしましたが、個人的にはあまり遅さを感じなかったため、ブックマークに保存したまま放置していました。先日、友人のブログで再び「自前でbusuanziのアクセス統計サービスをデプロイする」という記事を見て、自分のサイトでも特に遅延を感じていないものの、昨日の午後、ついに我慢できず手を加えてみることにしました。プライベートデプロイを行い、迂回的な方法で以前のデータを復元することに成功しました。
多くの上級者の方がプライベートデプロイに使っているのは、soxft氏のsoxft/busuanzi:シンプルなウェブサイト統計アナライザープロジェクトです。私もこのプロジェクトを採用しました。
構築方法についてはあまり詳しく説明しません。ネット上の方法はほぼ同じで、私はDockerによるコンテナ編成デプロイを採用しました。
多くの人の8080ポートはすでに使用されているため、他のポートに変更できます。例:6381:8080。ただし、後者の8080はコンテナ内アプリのポートであり、任意に変更してはいけません。
最後のAPI_SERVERを自分のサイトURLに変更します。たとえば、URLがbusuanzi.lxink.cnの場合、ここにはhttps://busuanzi.lxink.cn/apiと記載します。SSLプロトコルの問題に注意してください。
公式設定と比べて、redisのコンテナポートもローカルにマッピングしました。これにより、迂回的な方法で以前のBusuanziデータを復元しやすくなります。
編成ファイルの設定が完了したら、そのディレクトリでターミナルを起動し、docker-compose pull && docker-compose up -dを実行すれば起動します。最後にリバースプロキシを設定すれば完了です。
butterflyでは注意が必要です。プライベートデプロイのID名はbusuanzi_page_pvです。テーマのデフォルトはbusuanzi_page_value_pvです。
全サイトでBusuanzi統計を使用したい場合は、以下の2か所を変更してください。
themes\butterfly\layout\includes\widget\card_webinfo.pugファイルを開き、_valueを削除します。

themes\butterfly\layout\includes\header\post-info.pugファイルを開き、busuanzi_page_value_pvをbusuanzi_page_pvに変更します。

最後に、設定ファイルでカスタムCDNを設定し、自分のJSファイルを読み込みます。

任意のバージョンのPHPにredis拡張をインストール
Tiny RDM:モダンなRedis GUIクライアント
このプロジェクトは公式のBusuanziのAPIや方法と同期していないため、プライベートデプロイに移行した際に以前のデータを失ってしまうケースが多くあります。このプロジェクトのデータはredisデータベースに保存されており、redisディレクトリ下のdump.rdbファイルをマウントしても直接開くことはできません。そこで、データベース管理ソフトウェアでredisに接続できないかと考えました。当初、Navicatを確認しましたが、redisデータベースに接続する機能が提供されていませんでした。幸い、以前杜先生のブログ を閲覧した際に、杜先生がデータベース接続ソフトを紹介していたのを思い出しました。私はTiny RDMを採用しました。小型で軽量です。
この手順では、前述のローカルにマッピングしたポートを使用します。たとえば、上記の設定ファイルでポートが6380:6379の場合、6380が外部ネットワークからの接続ポートになります。

パスワードはデフォルトで空です。セキュリティ上の理由から、データ復元後は外部ネットワークへのマッピングを解除してください。
接続できない場合は、サーバーのセキュリティグループでポートが開放されているか確認してください。
接続後の画面

データはすべてMD5で暗号化されているため、接続直後は少し混乱するかもしれませんが、以下は開発者が提供した説明です。

幸い、私のデータは多くなかったため、Busuanziの統計は現在全サイトの統計のみで、記事の閲覧数は依然としてTwikooのページ統計を使用しています。最近はすべてBusuanziに統一する予定です。
昨日、構造を確認して、データ生成の方法を思いつきました。MD5を一括生成して、全サイトのUVを増やし、以前のデータを復元する方法です。
PHPで実装しました。

注意:saddはZSETタイプには適用されません。
PHPを保存後、自分のサイトディレクトリでPHPのURLにアクセスすると、指定した数量のデータが生成されます。




PVは直接数値を変更できます。ページのUVは上記の方法を応用してください。
迂回的な方法は少し不器用かもしれませんが、要望は実現できました。
個人使用の場合は、クロスオリジンアクセスを有効にすると、不要なデータを減らせます。
以上が昨日の午後に試行錯誤した結果です。昨夜は友人の清羽飛揚の「データ復元」も手伝い、複数人でのテストで有効であることを確認しました。より良い方法があれば、ぜひ上級者の皆様と議論したいと思います。