worker_processes 1;
pid @GROONGA_HTTPD_PID_PATH@;

# Match this to the file owner of Groonga database files if groonga-httpd is
# run as root.
user groonga groonga;

env GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO;
env GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO;
env GRN_II_CURSOR_SET_MIN_ENABLE;
env GRN_INDEX_CHUNK_SPLIT_ENABLE;
env GRN_MECAB_CHUNKED_TOKENIZE_ENABLED;
env GRN_MECAB_CHUNK_SIZE_THRESHOLD;

events {
  worker_connections 1024;
}

http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 65;

  # The default Groonga database path.
  groonga_database @GROONGA_HTTPD_DEFAULT_DATABASE_PATH@;

  # Create a Groonga database automatically if the Groonga database doesn't
  # exist.
  #
  # Note that this option is danger when worker_processes is greater than 1.
  # Because one or more worker processes may create the same Groonga database
  # at the same time. If you can create a Groonga database before running
  # groonga-httpd, you should do it.
  groonga_database_auto_create on;

  # The default Groonga cache limit. The cache limit can be set
  # for each worker. It can't be set for each Groonga database.
  # groonga_cache_limit 100;

  server {
    listen 10041;
    server_name localhost;

    location /d/ {
      groonga on;
      # You can disable log for Groonga.
      # groonga_log_path off;
      # You can disable query log for Groonga.
      # groonga_query_log_path off;
      # You can custom database path.
      # groonga_database /path/to/groonga/db;
      # If you send large data with one 'load' command, you may need to
      # increase the max size limitation.
      # client_max_body_size 50m;
    }

    location / {
      root @GROONGA_HTTPD_DOCUMENT_ROOT@;
      index index.html;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root html;
    }
  }
}
