KUSANAGIではWebサーバとしてNginxとApache HTTP Serverを選択することができます。
また、両者を組み合わせたWebサーバ構成を行うことができます。
ここでは各Webサーバ構成をそれぞれ解説します。
- nginxモード
- httpdモード
- nginxリバースプロキシ + httpdモード
Webサーバ構成の機能比較
各Webサーバ構成で利用できる機能の違いを表にまとめています。
各機能の詳細については、後述の各モードの説明や、kusanagi コマンドを参照してください。
機能 | 1. nginxモード | 2. httpdモード | 3. nginxリバースプロキシ + httpdモード |
---|---|---|---|
bcache | WordPressのプロファイルで使用できます | WordPressのプロファイルで使用できます | WordPressのプロファイルで使用できます |
fcache | 全てのプロファイルで使用できます | 使用できません | 全てのプロファイルで使用できます1 |
.htaccessファイル | 使用できません | 全てのプロファイルで使用できます | 全てのプロファイルで使用できます |
Webサーバ構成の指定と変更
Webサーバ構成の初期設定
Webサーバ構成の指定は kusanagi init コマンド、および、各 kusanagi コマンドで行うことができます。
3. nginxリバースプロキシ + httpdモード は kusanagi init コマンドで指定することはできません。1. nginxモード で初期化した後に、対応する kusanagi コマンドでWebサーバの構成を変更します。
kusanagi コマンド | 1. nginxモード | 2. httpdモード | 3. nginxリバースプロキシ + httpdモード |
---|---|---|---|
kusanagi init コマンド | --nginxXXXオプション (XXXにはバージョンが入ります) | --httpdXXオプション (XXXにはバージョンが入ります) | (kusanagi init コマンドでは指定できません) |
対応する kusanagi コマンド | kusanagi nginx コマンド | kusanagi httpd コマンド | kusanagi httpd-behind-nginx コマンド |
Webサーバ構成の変更と再起動
それぞれのWebサーバ構成で動作している時に、別のWebサーバ構成に対応する kusanagi コマンドを実行することで、Webサーバ構成を変更できます。例えば、Webサーバ構成が 1. nginxモード で動作している時に、 kusanagi httpd コマンドを実行すると 2. httpdモード に変更します。
それぞれのWebサーバ構成で動作している時に、同じWebサーバ構成に対応する kusanagi コマンドを実行すると、そのWebサーバ構成のまま各Webサーバを再起動します。例えば、Webサーバ構成が 1. nginxモード で動作している時に、 kusanagi nginx を実行すると nginx を再起動します。3. nginxリバースプロキシ + httpdモード のように、複数のWebサーバが動作する構成の場合には、全てのWebサーバを再起動します。
kusanagi コマンド | 1. nginxモード | 2. httpdモード | 3. nginxリバースプロキシ + httpdモード |
---|---|---|---|
kusanagi nginx コマンド | 再起動 | 1. nginxモード に変更 | 1. nginxモード に変更 |
kusanagi httpd コマンド | 2. httpdモード に変更 | 再起動 | 2. httpdモード に変更 |
kusanagi httpd-behind-nginx コマンド | 3. nginxリバースプロキシ + httpdモード に変更 | 3. nginxリバースプロキシ + httpdモード に変更 | 再起動 |
各 kusanagi コマンドで、Webサーバの再起動やWebサーバ構成を変更する際には、設定ファイルの検証を行ってエラーがない場合にのみ再起動や変更を行います。設定ファイルにエラーがあった場合には再起動や変更を行わず、現在のWebサーバ構成をそのまま継続します。
Webサーバ構成のリロード
各 kusanagi コマンドに --reload オプションをつけて実行することで、Webサーバ構成の設定ファイルのリロードを行えます。3. nginxリバースプロキシ + httpdモード のように、複数のWebサーバが動作する構成の場合には、全てのWebサーバの設定ファイルをリロードします。この際も、設定ファイルの検証を行ってエラーがない場合にのみリロードを行います。設定ファイルにエラーがあった場合にはリロードを行わず、現在のWebサーバ構成をそのまま継続します。
Webサーバ構成の設定ファイルの検証
各 kusanagi コマンドに --test オプションをつけて実行することで、Webサーバ構成の設定ファイルの検証を行えます。3. nginxリバースプロキシ + httpdモード のように、複数のWebサーバが動作する構成の場合には、全てのWebサーバの設定ファイルを検証します。
1. nginxモード
Nginxを単体のWebサーバとして使用するシンプルなモードです。
Nginxがポート80/443でリクエストを受け付けて、php-fpmによりPHPの実行処理を行います。
CGI (perl) も同様にリクエストを受け付けて、fcgiwrapによって実行処理を行います。
WordPressのプロファイルではbcacheを利用できます。また、全てのプロファイルでfcacheを利用できます。
Nginxのサービス名は nginxXXX (XXXにはバージョンが入ります) です。なお、KUSANAGI 9.5.0 より前のバージョンでは nginx (固定) です。

動作の確認
kusanagi status コマンドで以下のように表示されます。
*** (active) nginx : nginx129 ***
* nginx129.service - The NGINX HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx129.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-08-06 10:24:07 JST; 6 days ago
ログの場所
- /home/kusanagi/PROFILE/log/nginx
- httpはaccess.log/error.logに出力されます。
- httpsはssl_access.log/ssl_error.logに出力されます。
- /var/opt/kusanagi/log/nginx
設定ファイルの場所
- /etc/opt/kusanagi/nginx/conf.d
2. httpdモード
Apache HTTP Serverを単体のWebサーバとして使用するモードです。
.htaccessファイルなどのApache HTTP Server固有の機能が必要な場合に使用します。
Apache HTTP Serverがポート80/443でリクエストを受け付けて、php-fpmによりPHPの実行処理を行います。なお、KUSANAGIではmod_phpを使用していません。
CGI (perl) も同様にリクエストを受け付けて、fcgiwrapによって実行処理を行います。
WordPressのプロファイルではbcacheを利用できます。なお、全てのプロファイルでfcacheを利用できません。
Apache HTTP Serverのサービス名は httpd (固定) です。

動作の確認
kusanagi status コマンドで以下のように表示されます。
*** (active) httpd : httpd24 ***
* httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-08-06 10:24:07 JST; 6 days ago
ログの場所
- /home/kusanagi/PROFILE/log/httpd
- httpはaccess.log/error.logに出力されます。
- httpsはssl_access.log/ssl_error.logに出力されます。
- /var/opt/kusanagi/log/httpd
設定ファイルの場所
- /etc/opt/kusanagi/httpd/conf.d
3. nginxリバースプロキシ + httpdモード
Nginxがリバースプロキシとして動作して、その裏でApache HTTP Serverを動作するモードです。
nginxのみでサポートされているfcacheと、.htaccessファイルなどのApache HTTP Server固有の機能を組み合わせて使用できます。
Nginxがポート80/443でリクエストを受け付けて、Apache HTTP Serverにリバースプロキシします。
Apache HTTP Serverがポート8000でリクエストを受け付けて、php-fpmによりPHPの実行処理を行います。
CGI (perl) も同様にリクエストを受け付けて、fcgiwrapによって実行処理を行います。
WordPressのプロファイルではbcacheを利用できます。また、全てのプロファイルでfcacheを利用できます。
なお、fcacheについては注意点があります。.htaccessファイルでIPアドレスなどを元にアクセス制限を行っている場合は、fcacheを使用しないかキャッシュしないように設定してください。この制限は一般的なCDNと同じです。
Nginxのサービス名は nginxXXX@with_httpd (XXXにはバージョンが入ります) です。
Apache HTTP Serverのサービス名は httpd@with_nginx (固定) です。

動作の確認
kusanagi status コマンドで以下のように表示されます。
*** (active) nginx : nginx129 ***
* nginx129@with_httpd.service - The NGINX HTTP and reverse proxy server (with_httpd)
Loaded: loaded (/usr/lib/systemd/system/nginx129@.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-08-06 10:24:07 JST; 6 days ago
*** (active) httpd : httpd24 ***
* httpd@with_nginx.service - The Apache HTTP Server (with_nginx)
Loaded: loaded (/usr/lib/systemd/system/httpd@.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-08-06 10:24:07 JST; 6 days ago
ログの場所
- nginx (リバースプロキシ)
- /home/kusanagi/PROFILE/log/nginx
- httpはaccess.log/error.logに出力されます。
- httpsはssl_access.log/ssl_error.logに出力されます。
- /var/opt/kusanagi/log/nginx
- /home/kusanagi/PROFILE/log/nginx
- httpd
- /home/kusanagi/PROFILE/log/httpd
- http/httpsに関わらずaccess.log/error.logに出力されます。
- /var/opt/kusanagi/log/httpd
- /home/kusanagi/PROFILE/log/httpd
設定ファイルの場所
- nginx
- /etc/opt/kusanagi/nginx/conf.with_httpd.d
- /etc/opt/kusanagi/nginx/conf.d の設定ファイルから自動生成されます。そのため、直接更新しないでください。
- /etc/opt/kusanagi/nginx/conf.with_httpd.d
- httpd
- /etc/opt/kusanagi/httpd/conf.with_nginx.d
- /etc/opt/kusanagi/httpd/conf.d の設定ファイルから自動生成されます。そのため、直接更新しないでください。
- /etc/opt/kusanagi/httpd/conf.with_nginx.d
- .htaccessファイルでIPアドレスなどを元にアクセス制限を行っている場合は、fcacheを使用しないかキャッシュしないように設定してください。 ↩︎