LinuCレベル2 202試験の例題と解説
2.09.3nginxの設定と管理
LinuCレベル2 202試験の試験範囲から「2.09.3 nginxの設定と管理 」についての例題を解いてみます。
Webに公開されるサービスにおいて、Webサーバやリバースプロキシサーバとして利用されることが非常に多いnginxに関する内容が含まれます。
それぞれの役割として利用する場合の設定方法について、しっかりと把握しておきましょう。
例題
nginxの設定において、1つのプロセスが処理できる最大コネクション数を指定するディレクティブはどれか。
- connections
- process_connections
- max_connections
- worker_connections
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「4.worker_connections」です。
その他のディレクティブは、存在しません。
nginxの設定(nginx.conf)において設定項目はディレクティブと呼ばれ、以下などがあります。
user:
ワーカプロセスを実行するユーザとグループ指定
worker_processes:
起動するワーカプロセス数指定(CPUコア数と同等にするなど)
pid:
メインプロセスのプロセスIDを書き込むファイル指定
worker_connections:
ワーカプロセスが同時オープン可能な最大コネクション数指定
include:
外部参照する設定ファイルやパスを指定
listen:
解放するポート指定
root:
ドキュメントディレクトリ指定
index:
クライアントへ提供するファイル指定
なお、nginxはHTTP(Web)サーバとしてだけでなくリバースプロキシサーバとしても利用でき、必要なディレクティブも変わってくるので、設定の際には注意が必要です。
ディレクティブの詳細については、以下の公式ドキュメントから確認できます。
http://nginx.org/en/docs/ngx_core_module.html#user
簡単なWebサーバの設定(nginx.conf、およびdefault.conf)を行う場合、以下のようになります。
root@31e73f350d3c:/# cat /etc/nginx/nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
}
root@31e73f350d3c:/# cat /etc/nginx/conf.d/default.conf
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
例題作成者
鯨井 貴博 氏(LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 Zeus IT Camp)