Nginx Webサーバーの設定
ServBayは、組み込みNginx Webサーバーパッケージの管理・設定を簡単に行う手段を提供します。ServBayの直感的なグラフィカルユーザーインターフェイスを利用し、さまざまなローカル開発プロジェクトのニーズに合わせてNginxの主要設定を柔軟に調整できます。
Nginx設定画面へのアクセス
- ServBayアプリケーションを開きます。
- 左側のナビゲーションバーで
Webサーバー
をクリックします。 Nginx
タブを選択します。
Nginxの設定画面が表示されます。下図をご参照ください。
主な設定項目の説明
Nginx設定画面内で編集可能な各パラメータの詳細は以下の通りです。
基本ネットワーク設定
- HTTPポート: NginxがHTTPプロトコルでリッスンするポート。デフォルトは
80
です。 - HTTPSポート: NginxがHTTPSプロトコルでリッスンするポート。デフォルトは
443
です。 - ワーカー接続数 (Worker Connections): 各Nginxワーカープロセスが同時に確立できる最大接続数。この値はNginxの同時処理能力に影響します。
10240
は高負荷環境向けの比較的大きな値です。
パフォーマンスと制限
- クライアント最大ボディサイズ (Client Max Body Size): クライアントリクエストのボディ最大サイズ。例えばファイルアップロードのサイズ制限用途。
2048m
は最大2GBまで許可する設定です。 - KeepAliveタイムアウト: クライアントとサーバー間のKeep-Alive接続を何秒間維持するか。
65
秒は、この間追加リクエストがなければ接続を終了することを意味します。 - TCP Nodelay:
TCP_NODELAY
オプションの有効/無効。オンにすると小さなデータパケットの遅延が減り、高遅延ネットワークやリアルタイム性が求められる用途で推奨されます。
HTTPプロトコルバージョン
- HTTP/2: HTTP/2サポートの有効/無効。多重化やヘッダー圧縮によるパフォーマンス向上効果があり、推奨設定です。
- HTTP/3: HTTP/3 (QUIC)プロトコルサポートの有効/無効。UDPを基盤とし、さらに効率的で信頼性の高い次世代インターネットプロトコルです。対応するServBayバージョンでは必要に応じて有効化してください。
FastCGI設定(PHPなどのバックエンド処理向け)
- FastCGI接続タイムアウト (FastCGI Connect Timeout): NginxがFastCGIサーバー(例: PHP-FPM)へ接続するのを待つ秒数。
- FastCGI送信タイムアウト (FastCGI Send Timeout): NginxがFastCGIサーバーにリクエストを送信する際のタイムアウト秒数。
- FastCGI読み取りタイムアウト (FastCGI Read Timeout): NginxがFastCGIサーバーからレスポンスを受信するのを待つタイムアウト秒数。
これらのタイムアウト設定は、処理時間の長いPHPスクリプトに重要です。用途に合わせて調整し、リクエストが早期に中断されないようにしましょう。
Gzip圧縮
- Gzip: Gzip圧縮の有効/無効。オンにすると、Nginxはクライアントへレスポンス送信前に圧縮処理を行い、通信量を削減しページ表示が高速化されます。強く有効化を推奨します。
- Gzip圧縮レベル (Gzip Comp Level): 圧縮レベルは
1
(最速/最小圧縮)から9
(最遅/最大圧縮)まで。1
または2
の設定が速度と圧縮率のバランスが良いです。 - Gzipタイプ (Gzip Types): Gzipで圧縮を適用するMIMEタイプを指定。既定で一般的なテキスト、CSS、JavaScript、XML、RSSなどが含まれています。用途に応じて追加・削除可能です。
SSL/TLS設定(HTTPS用途)
- SSLプロトコル (SSL Protocols): 利用を許可するSSL/TLSプロトコルのバージョンを定義。
TLSv1.2 TLSv1.3
は現行推奨の安全な組み合わせで、古い/脆弱なSSLv3
,TLSv1.0
,TLSv1.1
は無効化されています。 - サーバー暗号スイート優先 (SSL Prefer Server Ciphers): オンの場合、SSL/TLSハンドシェイク時にサーバーが自身の暗号スイートリストを優先。より強力な暗号を強制できるため推奨設定です。
- SSL暗号スイート (SSL Ciphers): サーバーが許可する暗号スイートの組み合わせを定義。強力な最新スイートの選定はHTTPSセキュリティに重要。ServBayでは最適化されたデフォルトリストを用意しています。
その他の設定
- サーバートークン (Server Tokens): エラーページや
Server
レスポンスヘッダにNginxバージョン情報を表示するか制御。On
でバージョン番号を、Off
でnginx
のみ表示。セキュリティ観点からはOff
推奨です。 - インデックス (Index): リクエストURLがディレクトリの場合、Nginxが優先的に検索するデフォルトのインデックスファイル名リストを定義します(例:
index.html index.htm index.php
)。index.html
がなければ順に他ファイルが使用されます。
保存とリセット
- リセット (Reset): すべてのNginx設定をServBayのデフォルト設定に戻します。
- 保存 (Save): 変更内容をすべて保存します。保存するとServBayが自動的に設定を適用します。Nginxサービスが稼働中の場合、一時的な再起動が必要な場合もあります。
重要な注意事項
- ここで編集できるのはNginxのグローバル設定(
nginx.conf
のhttp
ブロック関連内容)です。個別Webサイト(サーバーブロックやバーチャルホスト)の設定(例:server_name
、root
、location
ルールなど)は、Websites
を追加・編集する際に行います。 - 設定画面下部で「Service Nginx is not enabled」と表示された場合、Nginxサービスが現在起動していません。設定自体は変更・保存できますが、次回Nginxサービス起動時に反映されます。ServBayのメインパネルや
パッケージ
メニューからNginxを起動できます。
まとめ
ServBayなら、Nginx Webサーバーの主要設定をグラフィカルインターフェースから直感的に調整できます。各種オプションを理解して構成することで、Nginxのパフォーマンス・セキュリティ・機能性を最適化し、ローカルWeb開発ワークフローをより快適に構築可能です。