Apache を使用したタイル キャッシュの作成

マップ タイルのキャッシュは、Apache HTTP Server の組み込みキャッシュ メカニズムを利用して実行できます。事前にレンダリングされたタイル、またはその場でレンダリングされるタイル用にタイル キャッシュを設定するには

  1. Spectrum™ Technology Platform インストールのフロント エンドとして使用する Apache HTTP Server のインスタンスをダウンロードし、インストールします。
    注: Apache Web サーバーは、Spectrum™ Technology Platform をホストするコンピュータにネットワーク アクセスできるコンピュータにインストールする必要があります。

    フロントエンド Apache サーバーは、リクエストされたマップ タイルをディスクにキャッシュするために NamedTile リクエストを傍受する一種のフィルタの働きをします。

  2. Apache サーバーの設定ファイルを次のように変更します。apache_install_dir/conf/httpd.conf
    1. httpd.conf をテキスト エディタで開きます。
    2. httpd.conf 内で次の行を探します。

      Listen 80

      この行のすぐ下に次の行を追加します。

      Listen 90

    3. ファイルの末尾に次の行を追加します。

      Include conf/tilecaching.conf

    4. httpd.conf に加えた変更を保存し、ファイルを閉じます。
  3. apache_install_dir/conf ディレクトリに、tilecaching.conf という名前の新しいファイルを作成します。
    1. tilecaching.conf をテキスト エディタで開き、次の行を追加します。
      注: プレースホルダーの値を太字の斜体で示しています。これらは、使用するシステムの実際の値に置き換えてください。
      
      
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_http_module modules/mod_proxy_http.so
      LoadModule headers_module modules/mod_headers.so
      
      <Directory "c:/maptilecache_dirname">
          AllowOverride None
          Order allow,deny
          Allow from all
      </Directory>
      
      NameVirtualHost *:90
      NameVirtualHost *:80
      
      ProxyRequests off
      ProxyPreserveHost On
      
      <Proxy *>
          Order allow,deny
          Allow from all
      </Proxy>
      
      <VirtualHost *:80>
          ServerName spatialserver
      
          <Location /rest/MapTilingService/NamedTiles/>
              RequestHeader unset Authorization
          </Location>
      
          ProxyPass /rest/MapTilingService/NamedTiles/ http://spatialserver:90/rest/MapTilingService/NamedTiles/
          ProxyPassReverse /rest/MapTilingService/NamedTiles/ http://spatialserver:90/rest/MapTilingService/NamedTiles/
      
          ProxyPass / http://spatialserver:8080/
          ProxyPassReverse / http://spatialserver:8080/
      </VirtualHost>
      
      <VirtualHost *:90>
          ServerName spatialserver
      
          ProxyPass / http://spatialserver:8080/
          ProxyPassReverse / http://spatialserver:8080/
      
          <Location /rest/MapTilingService/NamedTiles/>
              Header merge cache-control "public"
              RequestHeader set Authorization "Basic YWRtaW46YWRtaW4="
          </Location>
      
          LoadModule cache_module modules/mod_cache.so
          LoadModule disk_cache_module modules/mod_disk_cache.so
          CacheRoot c:/maptilecache_dirname
          CacheEnable disk /rest/MapTilingService/NamedTiles/
          CacheIgnoreHeaders None
      </VirtualHost>
      
      					
    2. tilecaching.conf に加えた変更を保存し、ファイルを閉じます。
  4. キャッシュされたマップ タイルを保持するディレクトリを作成します。このディレクトリには、用途がわかりやすい名前を付けてください (maptilecache など)。

    tilecaching.conf 設定ファイルで、名前を正しく指定します。

  5. Apache Web サーバーを再起動します。