Nginxを使ってみよう

こんにちは。サイオステクノロジー OSS サポート担当何敏欽です。

Nginx は、Apache 代替となり得る Web サーバです。Apache では対応できない問題が起きてしまったことが、Nginx が作られたきっかけです。Nginx はリバースプロキシとしても機能するし、ロードバランサーとしても使用できます。

いまさらな感じもありますが、あまり Nginx を触ったことがない方のために、今回は入門として、Nginx 公式パッケージを利用して CentOS7.5/RHEL7.5 に nginx をインストール、ダウングレート、バージョン指定アップデートする方法、バーチャルホストを設定する方法や、設定項目について説明します。

Nginx のインストール、ダウングレート、バージョン指定アップデート

■Nginx のインストール

Nginx のサイトに従い Nginx のリポジトリを追加してインストールします。/etc/yum.repos.d/nginx.repo というファイルを作成し、そのファイルに以下の設定を追加します。

yum コマンドでインストールします。これで、最新バージョンがイントールされます。

nginx のバージョンを確認します。

nginx の自動起動設定します。

nginx を起動します。

■Nginx のダウングレート

システム要件で現在導入したバージョンより古いバージョンを使用したい時ってありますよね。以下の手順にて Ngnix をダウングレードすることが可能です。

以下のコマンドを実施し、ダウングレード対象のパッケージを確認します。

以下のコマンドを実行し、ダウングレードを行います。

■Nginx のバージョン指定アップデート

システム要件で最新バージョンではなく、特定のバージョンにアップデートしたい場合、下記のように yum update にアップデートしたいバージョンを指定すればいいです。

バーチャルホストの設定

Nginx も Apache と同様にバーチャルホストを設定できます。バーチャルホストの設定は複数の方法がありますが、比較的簡単にできるものをご紹介したいと思います。

/etc/nginx/conf.d/default.conf を以下のように編集・追記します。元のファイル default.conf に変更を加える前に、設定ファイルの雛形をコピーすることをお勧めします。

上記の設定を保存したら、下記のコマンドで構文エラーがないことを確認してから Nginx を再起動して設定を反映します。

設定反映ができたら、次に index.html を作成します。

hosts ファイルに以下の 3行を追加してドメインを解決させます。

実際に Web ブラウザで http://hoge1.com にアクセスして表示を確認してみます。

hoge1

access.log に下記のメッセージが出力されます。

設定項目について

nginx.conf ファイルにおける主な設定項目では、user で実行ユーザを指定する 、パフォーマンスを調整するため Worker Process により実行プロセス数を指定する、worker_connections により 1つの worker プロセスが同時に処理できる最大接続数を設定する、error_log でエラーログを指定するなどがあります。いくつかのディレクティブの内容について、下記に説明します。

デフォルト値:1MB

最小値:1byte

最大値:特になし(0 の指定でボディサイズの制限チェック無効)

受信可能なリクエスト body の最大サイズを設定します。リクエストのサイズが設定値を超えますと、エラーメッセージ「413 Request Entity Too Large」がクライアントに返されます。

デフォルト値:off

内部的に sendfile() システムコールを用いるかどうかを指定します。on に設定するとパフォーマンス向上します。

デフォルトでは、Nginx がファイル送信自体を処理し、ファイルを送信する前にバッファにコピーします。sendfile ディレクティブを有効 (on) にしますと、データをバッファにコピーするステップが不要になり、効率良くファイルの内容をクライアントに送信できます。

デフォルト値:0

sendfile_max_chunk は、一つの sendfile() システムコールで転送できるデータ量を制限します。転送できるデータ量の制限がない場合、1つの高速な接続では、sendfile() は1つのシステムあたり数十メガバイトを送信し、ワーカープロセス全体を占有してしまう可能性があります。

デフォルト値:75s

HTTP の持続的な接続時間を設定します。0 に設定すると、KeepAlive 無効となります。Apache の KeepAliveTimeout に相当します。

デフォルト値:100

1つのキープアライブ接続で処理できる要求の最大数を設定します。最大数の要求が行われた後、接続は閉じられます。Apache のMaxKeepAliveRequests に相当します。

Nginx は、インストールや設定は極めてシンプルです。ぜひ一度、Nginx を使ってみてください。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*