Nginx/ja

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

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

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


 * HTTP related modules can be enabled through the NGINX_MODULES_HTTP variable
 * Mail related modules can be enabled through the NGINX_MODULES_MAIL variable
 * Third party modules can be enabled through the NGINX_ADD_MODULES variable

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

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

The above will overwrite the default value of NGINX_MODULES_HTTP and set it to. To enable the  module without overwriting the default NGINX_MODULES_HTTP value, the following USE flag notation can be specified in :

Emerge
With the USE flags set, install :

Installation verification
The default nginx configuration defines a virtual server with the root directory set to. However due to, the nginx ebuild will only create the directory and without an index file. To have a working default configuration, create the directory and simple index file:

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

To verify that nginx is properly running, point a web browser to the http://localhost address or use a command-line web tool like :

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

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

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

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

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

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

Review the configuration and add following line:

For PHP 7.0 and newer configuration file is slightly different:

Set the timezone in the php-fpm file. Substitute the  text in the FileBox below with the appropriate timezone information:

Start the daemon:

Add to the default runlevel:

Reload with changed configuration:

IP アドレスのアクセスリスト
The next example shows how to allow access to a particular URL (in this case ) only to:


 * certain hosts (e.g. 192.0.2.1 127.0.0.1)
 * and IP networks (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
Start nginx web server:

nginx の停止:

Add nginx to the default runlevel so that the service starts automatically on system reboot:

Reload nginx configuration without dropping connections:

Restart the nginx service:

systemd
Start nginx web server:

Stop nginx web server:

Check the status of the service:

Enable service to start automatically on system reboot:

Reload nginx configuration without dropping connections:

Restart the nginx service:

トラブルシューティング
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):

参考

 * Apache - インターネット上で最も多く使われている HTTP サーバー
 * Lighttpd - 高速かつ軽量なウェブサーバー

外部の情報

 * nginx Wiki
 * H5BP nginx config