Nginxの設定入門|Webサーバー基礎からリバースプロキシ・SSL設定まで

現場実践|Webサーバー設定
Nginxの設定入門
Webサーバー基礎からリバースプロキシ・SSL設定まで
インフラエンジニアが必ず覚えるべきWebサーバー「Nginx(エンジンエックス)」の設定を、バーチャルホスト・リバースプロキシ・HTTPS設定まで解説します。
💡 NginxはApacheと並ぶLinux定番のWebサーバー。軽量・高パフォーマンスで、リバースプロキシ・ロードバランサーとしても広く使われます。
1. Nginxとは
まず、Nginx(エンジンエックス)はロシアのIgor Sysoev氏が開発したオープンソースのWebサーバーです。Apacheと比較してメモリ効率が高く、大量の同時接続処理に強い特性を持ちます。現在はAWSのALB・CloudFrontと組み合わせて使われることが多いです。
2. インストール・起動
# CentOS/RHEL
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
# Ubuntu
sudo apt install nginx
sudo systemctl start nginx3. 設定ファイル構造
また、メインの設定ファイルは/etc/nginx/nginx.confです。サイト別の設定は/etc/nginx/conf.d/配下に.confファイルを作成します。設定変更後はnginx -t(設定テスト)→systemctl reload nginx(再読み込み)の順で適用します。
4. バーチャルホスト設定(複数ドメイン)
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}5. リバースプロキシ設定
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}6. HTTPS設定(Let’s Encrypt)
# certbotで証明書を取得(RHEL/CentOS)
sudo yum install certbot python3-certbot-nginx
sudo certbot --nginx -d example.comcertbotはLet’s Encryptの証明書の取得・Nginx設定の自動更新・自動更新cronの設定まで自動で行います。
📌 この記事のポイント
- Nginxは軽量・高性能なWebサーバー。リバースプロキシとしても広く使われる
- 設定変更後はnginx -t(テスト)→systemctl reload(再読み込み)の順で適用する
- certbotでHTTPS(Let’s Encrypt)設定を自動化できる
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




