Nginx はオープンソースの高性能 HTTP サーバーおよびリバースプロキシサーバーであり、Web アプリケーションのトラフィックを設定および管理するために使用できます。以下はいくつかの Nginx の設定例です:
- Nginx を Web サーバーとして使用する
server {
listen 80;
server_name example.com;
root /var/www/html/example;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
この例では、Nginx は 80 ポートをリッスンし、リクエストを /var/www/html/example ディレクトリ内の index.html ファイルにリダイレクトします。リクエストされたファイルが存在しない場合、404 エラーが返されます。
- リバースプロキシサーバー
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
この例では、Nginx はリクエストをローカルホストの 8080 ポートに転送するように設定されています。proxy_set_header を設定することで、元のリクエストの情報(ホスト名や IP アドレスなど)をバックエンドサーバーに渡すことができます。
- ロードバランシング
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
この例では、upstream ディレクティブを使用して backend という名前のロードバランサーが定義されており、このロードバランサーは 3 つのバックエンドサーバーにリクエストを分散させます。server ブロック内では、proxy_pass ディレクティブを使用してリクエストをロードバランサーに転送します。