Nginx/ja

nginx はウェブサーバ / リバースプロキシサーバです. ]]Apache や lighttpd と同様に支持されているウェブサーバとして良い選択肢です.

インストール
パッケージのインストールを始める前に、まずはNginx向けの適切なUSEフラグを設定します.

Expanded USE flags
Nginxはモジュールによって機能が拡張されます. このモジュールによるアプローチの管理をより簡潔にするために、nginxのebuildではexpanded USE ( USE_EXPAND ) flagsを用い、どのモジュールをインストールするか指定されます.


 * HTTP に関連するモジュールは NGINX_MODULES_HTTP 変数を介して有効化できます.
 * メールに関連するモジュールは NGINX_MODULES_MAIL 変数を介して有効化できます.
 * サードパーティモジュールは NGINX_ADD_MODULES 変数を介して有効化できます.

これらの変数はに設定する必要があります. 詳しい解説は と  にあります.

例えば、 モジュールを有効にするには:

上記の設定は NGINX_MODULES_HTTP のデフォルト値を上書きして  に設定します. デフォルトの NGINX_MODULES_HTTP 値を上書きせずに  モジュールを有効化するには、次の USE フラグ記述を  に指定することで行えます:

Emerge
USE フラグを設定したら、 をインストールします:

インストールを確認する
デフォルトの nginx 設定は をルートディレクトリとして設定したバーチャルサーバを定義しています. しかし のため、nginx ebuild は  ディレクトリのみ作成し、インデックスファイルを作成しません. デフォルト設定を動作させるには、 ディレクトリと簡単なインデックスファイルを作成してください:

nginxパッケージはinitサービススクリプトをインストールし、それを使ってシステム管理者はnginxを停止、起動、及び再起動することができます. nginxサービスを起動するには次のコマンドを実行します:

nginx が正常に動作しているか確認するには、ブラウザで http://localhost にアクセスするか、コマンドライン上で動く などを使います:

設定
nginxの設定はファイルを通して行います.

単一サイト利用
以下は、(PHPのような)ダイナミック生成を用いない単一サイト利用の例です.

複数サイト利用
複数のファイルに設定を分割する為、 ディレクティブを利用することが可能です:

PHP サポート
PHPサポートを有効化する為には、次の行をnginxの設定ファイルに追加してください. この例ではnginxとPHPプロセスはUNIXソケットを介して情報を交換します.

このセットアップでは、 USE フラグによって管理されるFastCGI Process Managerサポートと共にビルドされたPHP が必要です:

USEフラグを有効にして PHP を再ビルドします:

コンフィグファイルを再確認して次の行を追加してください:

PHP 7.0 以降のコンフィグファイルは少し異なります:

php-fpm ファイルでタイムゾーンを設定してください. 下の FileBox 内の  テキストを適切なタイムゾーン情報に置き換えてください.

デーモンを開始します:

を default ランレベルに追加します:

変更した設定を使って を再読み込みします:

IP アドレスのアクセスリスト
次の例は特定の URL（ここでは ）へのアクセスを以下からに制限する方法を示しています:


 * 特定のホスト (e.g. 192.0.2.1 127.0.0.1)
 * 特定の IP ネットワーク (e.g. 198.51.100.0/24)

ベーシック認証
nginx allows limiting access to resources by validating the user name and password:

The file can be generated using:

サードパーティー製モジュール
Download third party module source and move it to. Manually compile the selected Nginx module, then add the following line to :

Rebuild nginx with the third party module enabled:

OpenRC
nginx ウェブサーバを開始します:

nginx ウェブサーバを停止します:

システム再起動時にサービスを自動で開始できるように nginx を default ランレベルに追加します:

接続を切ることなく nginx の設定を再読み込みします:

nginx サービスを再起動します:

systemd
nginx ウェブサーバを開始します:

nginx ウェブサーバを停止します:

サービスの状態を確認します:

システム再起動時にサービスの自動開始を有効化します:

接続を切ることなく nginx の設定を再読み込みします:

nginx サービスを再起動します:

トラブルシューティング
In case of problems, the following commands can help troubleshoot the situation.

Validate configuration
Verify that the running nginx configuration has no errors:

By running with the   option, it will validate the configuration file without actually starting the  daemon. Use the  option with the full path to the file to test configuration files in non-default locations.

Verify processes are running
Check if processes are running:

Verify bound addresses and ports
Verify nginx daemon is listening on the right TCP port (such as 80 for HTTP or 443 for HTTPS):

外部の情報

 * https://nginx.org/en/docs/beginners_guide.html - 初心者ガイド.  についてよく知らない人にとって役立ちます.
 * https://nginx.com/resources/admin-guide/ - 管理ガイド. 現場で作業する管理者にとって役立ちます.
 * http://wiki.nginx.org/Main - nginx ウィキ.
 * https://github.com/h5bp/server-configs-nginx - H5BP nginx コンフィグ.