nginx の概要と設定
Nginxは高性能のHTTPおよびリバースプロキシサーバーとIMAP/POP3/SMTPサーバーです。特徴として、メモリ使用量が少なく、同時接続数を多く処理できます。多数の同時接続下でも、CPUやメモリ使用率を低く抑えつつ、高効率の逆プロキシとロードバランシングを実現します。
nginx の設定ファイルは nginx.conf で、インストールディレクトリの conf フォルダにあります。以下は簡単な nginx 設定の例です。
http {
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html index.php;
}
location /api {
proxy_pass http://backend;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
HTTPブロック内でサーバーブロックを定義し、その中でlistenディレクティブでサーバーがリッスンするポート番号と、server_nameディレクティブでサーバーのドメイン名を定義。locationブロックは、URLの照合ルールを定義し、異なるURLパスに基づいて要求を異なる処理方法に転送する。
上記の例では、/api パスはbackendという名前のサーバに転送され、他のパスは/var/www/html フォルダ内の静的ファイルに転送されます。一方、.php で終わるリクエストは PHP-FPM に処理されます。
nginx の設定は非常に柔軟で、リバースプロキシ、負荷分散、セキュリティ設定など、必要に応じて様々な設定を行うことができます。