Webサーバーの分散

トップ  前へ  次へ

概要

FileBlog Version 3.1.1.21 から 検索エンジンサーバ(Fb3Indexer, Fb3Solr)とWebサーバ(Fb3Apache)を別マシンで稼働できるようになりました。
また、検索エンジン1台に対して複数のWebサーバーを起動し、負荷を分散させることもできます。

 

環境設定

おおまかな流れとして、以下の作業が必要になります。

1.検索エンジンサーバー側で、外部のWebサーバーからのアクセスを許可する
2.Webサーバー側で、「ドキュメントルート」と「検索エンジン接続先」を変更する

※あらかじめ、Webサーバーマシンと検索エンジンサーバーマシンの両方にFileBlogをインストールしておく必要があります。

 

検索エンジンサーバの設定

1.検索エンジン(Fb3Solr)サービスの接続許可アドレスを修正します
検索エンジン(Fb3Solr)設定ファイルを開きます

FileBlogのインストールフォルダ + "Bin\Fb3Solrconf\Catalina\localhost" の solr1.xml というファイルを開きます。
既定では以下の場所に保存されています。

 
 C:\Program Files\Teppi Technology\FileBlog\3.0\Fb3Solr\conf\Catalina\localhost\solr1.xml
 

 
RemoteAddrValveのallow属性にWebサーバーのIPアドレスを設定します
※許可アドレスは、カンマ区切りで複数指定できます。正規表現が使えます。デフォルトは127\.0\.0\.1

<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="${catalina.home}/common/lib/solr.war" debug="0" crossContext="true" >

<Environment name="solr/home" type="java.lang.String" value="C:/Documents and Settings/All Users/Application Data/fileblog3.0/Fb3Solr_Index/solr1" override="true" />

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1" />

</Context>

これにより、外部マシンから検索エンジン(Fb3Solr)サービスへのアクセスが可能になります。

 

2.FileBlog(Fb3Indexer)サービスの接続許可アドレスを修正します

管理ツール→詳細設定にて[ trusted-clients] にWebサーバーマシンのIPアドレスを追加します。正規表現は"使えません"。

これにより、Webサーバーからのコマンド投入が許可されます。

3.tpiフォルダを共有(公開)します

外部マシンからアクセスできるように、tpiフォルダを公開します。また、管理ツールにてドキュメントルートの [tpiroot] を公開されたパスへ修正してください。

※tpiフォルダの公開によるリスク

tpiフォルダを公開することで、ファイルの閲覧権限の無いユーザーに、Windowsエクスプローラーからファイルのプレビューが見られてしまうなどの、セキュリティ上の問題が発生します。
最低限以下のような対策を取っておく必要があります。

共有名の最後に$を付ける・・・外部のマシン上で共有フォルダを非表示にすることが出来ます
共有名を複雑(無意味)な名前にする・・・ユーザーに推測されにくくなります

 

Webサーバの設定

1.ドキュメントルートを変更します

ドキュメントルートを、検索エンジンサーバー側に揃えます。

※ドキュメントルートの表記方法(\\マシン名\C$\share や \\マシン名\share)も検索エンジンサーバー側に合わせてください。

2.検索エンジン接続先を変更します
検索エンジン設定ファイルを修正します

FileBlogのインストールフォルダ + "Bin" の solr.conf というファイルを開きます。
既定では以下の場所に保存されています。

 
 C:\Program Files\Teppi Technology\FileBlog\3.0\Bin\solr.conf
 

nodesetのhostパラメータ に検索エンジンサーバー名(もしくはIPアドレス)を設定します。

 
"nodeset": {

  "servicename": "Fb3Solr",

  "catalina_base": "C:\\Program Files\\Teppi Technology\\FileBlog\\3.0\\Fb3Solr",

  "backupfolder": "C:\\Documents and Settings\\All Users\\Application Data\\fileblog3.0\\Fb3Solr_Index\\backup",

  "port": 8181,

"host": "検索エンジンサーバー名",

  "trusted-clients": "127\\.0\\.0\\.1",

  "nodelist": [{

    "name": "solr1",

    "home": "C:\\Documents and Settings\\All Users\\Application Data\\fileblog3.0\\Fb3Solr_Index\\solr1"

  }]

},
以下省略...
 

これにより、Webサーバーが検索時に問い合わせる検索エンジンサーバーが変更されます。

環境設定を修正します

管理ツール→詳細設定にて [fileblogserver_url] を検索エンジンサーバのURLへ変更します。

http://localhost:1980/rest/

http://ホスト名:1980/rest/

これにより、インデックス再構築などのコマンドを検索エンジンサーバーへ投入することが出来ます。

3.検索エンジンを停止します

Webサーバー上の検索エンジンサービスが起動していると、本体の検索エンジンサーバーと処理が重なってしまいます。以下の手順でサービスが起動されないようにします。

FileBlogサーバーを停止します

管理ツール→サービスにてFileBlogサーバーを停止します。

サービスのスタートアップを手動へ変更します

Windows上でサービス管理画面を表示します。

マイコンピュータを右クリック→「管理」→「サービスとアプリケーション」→「サービス」→Fb3Indexerをダブルクリック→「スタートアップの種類」を「手動」へ変更します。

これにより、OS再起動時に自動で起動しなくなります。

 

設定の確認

設定が完了したらサービスを再起動します。

検索エンジンサーバーとは別のWebサーバーへアクセスし、検索、プレビューが問題ないか、インデックス再構築ができるか確認します。
(※現在、プレビューの作成設定は別マシン上からは変更できません。検索エンジンサーバー上のWebサーバにて変更してください)

※検索が出来ない場合は、検索エンジンサーバー上のファイアーウォールでWebサーバーが弾かれていないか確認してください。

※Webサーバーにロードバランサを導入する場合は、セッションを維持する必要があります。

 

 


© 2012 Teppi Technology   ※無断転載を禁じます