# groonga - オープンソースのカラムストア機能付き全文検索エンジン

- English page

### ナビゲーション

- 索引
- 次へ |
- 前へ |
- groonga v2.0.4ドキュメント »
- 7. リファレンスマニュアル »
- 7.1. 実行ファイル »

# 7.1.5. groonga-httpd

## 7.1.5.1. 概要

groonga-httpdはgroongaサーバーとhttpプロトコルで通信するプログラムです。 機能的には、 groonga HTTPサーバー と同じになっています。 groonga HTTPサーバー はHTTPサーバーとしては最小限の機能しか持ちませんが、一方のgroonga-httpdはnginxを組み込むことでnginxが準拠しているHTTPの仕様と機能が全て利用できます。nginxの詳細については、http://www.nginx.org/を参照してください。

groonga-httpdにはHTML + JavaScriptで実装された管理ツールが標準で付属しています。ウェブブラウザでhttp://hostname:port/にアクセスすると、管理ツールを利用できます。

## 7.1.5.2. 書式

    groonga-httpd [nginx options]

## 7.1.5.3. 使い方

### 7.1.5.3.1. 設定をする

まずは、データベースを指定するためにgroonga-httpdの設定ファイルを編集する必要があります。groonga_databaseディレクティブを有効にするために、次のように/etc/groonga/httpd/groonga-httpd.confを編集してください。

    # Match this to the file owner of groonga database files if groonga-httpd is
    # run as root.
    #user groonga;
    ...
    http {
      ...
      # Don't change the location; currently only /d/ is supported.
      location /d/ {
        groonga; # <= This means to turn on groonga-httpd.

        # Specify an actual database and enable this.
        groonga_database /var/lib/groonga/db/db;
      }
      ...
    }

次に、groonga-httpdを実行してください。すぐにターミナルに制御が戻ってきますが、groonga-httpdはデフォルトでデーモンプロセスとして実行されるからです。

    % groonga-httpd

### 7.1.5.3.2. クエリを実行する

動作を確認するため、簡単なクエリ(status)をリクエストしてみます。

実行例:

    % curl http://localhost:10041/d/status
    [
      [
        0,
        1337566253.89858,
        0.000355720520019531
      ],
      {
        "uptime": 0,
        "max_command_version": 2,
        "n_queries": 0,
        "cache_hit_rate": 0.0,
        "version": "2.0.3-278-g6071d65",
        "alloc_count": 145,
        "command_version": 1,
        "starttime": 1340769698,
        "default_command_version": 1
      }
    ]

### 7.1.5.3.3. 管理ツールを使う

補足ですが、 http://localhost:10041/ にアクセスすると管理ツールを利用できます。

### 7.1.5.3.4. 終了する

最後に、動作中のgroonga-httpdデーモンを終了するためには、次のコマンドを実行してください。

    % groonga-httpd -s stop

## 7.1.5.4. 設定ディレクティブ

ディレクティブには2種類あります。groonga由来のものとnginx由来のものがあります。

以下のディレクティブはgroonga-httpdの設定ファイル中で使用することができます。デフォルトでは、設定ファイルは/etc/groonga/httpd/groonga-httpd.confに置かれています。

### 7.1.5.4.1. groonga関連のディレクティブ

以下のディレクティブはnginxから提供されているものではなく、groonga-httpd関連の設定をするためにgroonga-httpdから提供されているディレクティブです。

#### 7.1.5.4.1.1. `groonga_database`

groongaデータベースのパスを指定します。

### 7.1.5.4.2. 性能関連のディレクティブ

以下のディレクティブはgronoga-httpdの性能に関連しているディレクティブです。

#### 7.1.5.4.2.1. `worker_processes`

最適なパフォーマンスを得るためには、CPU数あるいはコア数と同じ数になるようにこのディレクティブを設定してください。大抵の場合、groongaのクエリはCPU負荷が高いものとなり、複数のCPU/コアを使い切るためには、このディレクティブを設定する必要があります。

このディレクティブはgroonga-httpdのディレクティブではなく、nginxのディレクティブです。詳細については、 http://wiki.nginx.org/CoreModule#worker_processes を参照してください。

デフォルトで、このディレクティブには1が設定されています。

## 7.1.5.5. 利用可能なnginxモジュール

HttpRewriteModuleを除く全てのHTTPの標準モジュールが利用可能です。HttpRewriteModuleはPCRE (Perl Compatible Regular Expressions)へ依存しないようにするために無効化されています。残りの標準モジュールの一覧は、 http://wiki.nginx.org/Modules を参照してください。

### ナビゲーション

- 索引
- 次へ |
- 前へ |
- groonga v2.0.4ドキュメント »
- 7. リファレンスマニュアル »
- 7.1. 実行ファイル »