ウェブサーバーサービス(Nginx)

ウェブサーバーサービス(Nginx)

Nginx Webサーバーは、オープンインターネットからLiferay Cloudサービスへのゲートウェイとして機能します。 ユーザーからのすべてのトラフィックを処理し、高性能なWebサーバーとして機能します。

Webサーバーは、Liferay Cloudで利用できるいくつかのサービスのうちの1つです。

詳細は、 Web server service limitations のセクションを参照してください。

設定

Liferay Cloudのサービスはデフォルトでうまく機能するように微調整されていますが、さらにNginxを設定する必要がある場合があります。 これを行うには、configs/{ENV}/conf.d/フォルダー内に任意のCONFファイルを含めることができます。 変更をデプロイすると、ファイルが自動的にサービスに挿入され、デフォルトの設定が上書きされます。 このようなファイルを適切なディレクトリに格納した場合のフォルダ構造の例を示します。

webserver
├── configs
│   └── common
│       └── conf.d
│           └── nginx.conf
└── LCP.json

/webserver/configs/{ENV}/のファイルは、Liferay CloudのWebサーバーコンテナの /etc/nginx/ にオーバーライドとしてコピーされます。 /webserver/configs/{ENV}/public/のファイルはオーバーライドとしてvar/www/html/にコピーされます。

note

バージョン3.x.xのサービスを使用している場合は、Nginxの設定は適切な[lcp/webserver/config//]ディレクトリに属しています。 バージョンの確認方法については, サービススタックのバージョンについて を参照してください.

環境変数

これらの環境変数は、Webサーバーサービスで利用できます:

名前 デフォルト値 説明
LCP_HAPROXY_RESOLVER_HOLD_TIME 10 HAProxyロードバランサーの hold構成 の設定を行います。 この構成は、 valid ステータス用です。
LCP_HAPROXY_RESOLVER_RETRIES 3 HAProxyロードバランサーの resolve_retries の構成 を行います(再試行回数は、セッションがあきらめる前に、サーバーに接続しようとします)。
LCP_HAPROXY_RESOLVER_TIMEOUT_RESOLVE 1 HAProxyロードバランサーの timeout 構成 の設定を行います(イベントタイムアウトの秒数)。 この構成は、 resolve イベント用です。
LCP_HAPROXY_RESOLVER_TIMEOUT_RETRY 1 HAProxyロードバランサーの timeout 構成 の設定を行います(イベントタイムアウトの秒数)。 この構成は、 retry のイベント用です。
LCP_HAPROXY_SERVER_TEMPLATE_BACKEND_NUM 10 任意のサービスの最大インスタンス数を上書きします。 オートスケーリングを使用する場合は、必要な最大値を設定してください。
LCP_WEBSERVER_LOG_FORMAT Nginxログの形式をカスタマイズします。 official Nginx documentation を参照してください。
LCP_WEBSERVER_MODSECURITY Off ModSecurityを有効または無効にします。 この値をOnに設定すると、ルールが有効になり処理されます。または、DetectionOnlyに設定すると、破壊的なアクションを実行せずにルールが処理されます。 Webアプリケーションファイヤーウォールを参照してください。

Ingressロードバランサー もWebサーバーサービスで設定されます。 このサービスに環境変数を追加して、ロードバランサーやカスタムドメインを設定することができます。 詳細については、 the Load Balancer environment variables reference を参照してください。

Nginxの環境変数やその他の設定はすべて 公式のNginxドキュメント にあります。 サービスのLCP.jsonファイルで、configs/{ENV}/ディレクトリと環境変数を設定することができます。

スクリプト

スクリプトを使用して、より広範なカスタマイズを行うことができます。 ただし、これを行う際は注意してください。 これは、Webサーバーサービスをカスタマイズする最も強力な方法であり、望ましくない副作用を引き起こす可能性があります。

configs/{ENV}/scripts/フォルダーにある .sh ファイルは、サービスを開始する前に実行されます。 たとえば、すべてのログファイルを削除するスクリプトを含めるには、次のディレクトリ構造に配置します:

webserver
├── configs
│   └── common
│       └── scripts
│           └── remove-log-files.sh
└── LCP.json
note

バージョン3.x.xのサービスを使用している場合、webserverスクリプトは適切なlcp/webserver/script/{ENV}/ディレクトリに置かれます。 バージョン確認の詳細については、サービススタックのバージョンについて を参照してください。