Nginxインストールガイド:初心者向けステップバイステップ
高性能ウェブサービングの世界へようこそ!Nginx(エンジンエックスと発音)は、静的コンテンツの配信、リバースプロキシ、ロードバランサー、HTTPキャッシュとしての役割で事実上の標準となっています。初心者にとって、最初のインストールを正しく行うことが、そのスピードと効率性を活用するための重要な第一歩です。
このガイドでは、最も一般的なLinuxディストリビューション(Debian/UbuntuおよびCentOS/RHEL)にNginxをインストールするための、明確で実用的なステップバイステップの手順を提供します。また、ウェブサーバーが正しく動作し、トラフィックを処理する準備ができていることを確認するための、インストール後の必須検証手順についても説明します。
前提条件
インストールプロセスを開始する前に、以下のものがあることを確認してください。
- サポートされているLinuxディストリビューション(Ubuntu/DebianまたはCentOS/RHEL)を実行しているサーバーまたは仮想マシン。
- 管理タスク用に設定された
sudo権限を持つ非ルートユーザー。 - Linuxコマンドラインインターフェイス(CLI)の基本的な知識。
Debian/Ubuntuシステムへのインストール
Debianベースのシステムでは、Nginxはデフォルトのリポジトリですぐに利用可能です。最新の利用可能なバージョンを取得するために、まずパッケージリストを更新することをお勧めします。
ステップ1:パッケージリストの更新
ローカルのパッケージインデックスを更新するには、次のコマンドを実行します。
sudo apt update
ステップ2:Nginxのインストール
apt installコマンドを使用して、Nginxとその依存関係をダウンロードおよびインストールします。
sudo apt install nginx
ステップ3:インストールの状態の確認
インストールが完了すると、サービスは通常自動的に開始されます。systemctlを使用してその状態を確認できます。
sudo systemctl status nginx
サービスが active (running) であることを示す出力が表示されるはずです。
CentOS/RHELシステムへのインストール
Red Hat Enterprise Linux (RHEL) の派生ディストリビューション(CentOSやFedoraなど)では、通常、yum または dnf パッケージマネージャーを使用してNginxがインストールされます。Nginxがデフォルトのベースリポジトリに含まれていない場合があるため、最新の安定版を取得するには、公式のEPEL(Extra Packages for Enterprise Linux)リポジトリからインストールすることが推奨されます。
ステップ1:EPELリポジトリのインストール
まず、標準リポジトリには含まれていない、一般的に使用される高品質なパッケージを多く含むEPELリポジトリをインストールします。
CentOS/RHEL 7の場合:
sudo yum install epel-release
CentOS/RHEL 8/9の場合(DNFを使用):
sudo dnf install epel-release
ステップ2:Nginxのインストール
次に、yum または dnf を使用してNginxをインストールします。
# yumを使用(古いシステム)
sudo yum install nginx
# または dnfを使用(新しいシステム)
sudo dnf install nginx
ステップ3:Nginxサービスの開始と有効化
Debian/Ubuntuとは異なり、RHELベースのシステムではNginxがインストール後に自動的に開始されない場合があります。手動で開始し、システムの起動時に実行されるように有効化する必要があります。
# サービスを即時開始
sudo systemctl start nginx
# 再起動時に開始されるように有効化
sudo systemctl enable nginx
# ステータスを確認
sudo systemctl status nginx
ファイアウォールの設定:HTTP/HTTPSトラフィックの許可
インストール後の重要なステップは、ファイアウォールが外部接続をウェブサーバーに到達させることを許可するように設定することです。これを怠ると、外部ユーザーはあなたのサイトを見ることができません。
UFWの使用(Uncomplicated Firewall - Ubuntu/Debianで一般的)
Nginxは、インストール中にUFWに特定のプロファイルを登録します。ポート80(HTTP)とオプションでポート443(HTTPS)を開くことをお勧めします。
# 利用可能なアプリケーションプロファイルを一覧表示
sudo ufw app list
# 標準のウェブトラフィック(HTTP/HTTPS)を許可
sudo ufw allow 'Nginx Full'
# 変更を適用するためにファイアウォールをリロード
sudo ufw reload
Firewalldの使用(CentOS/RHELで一般的)
Firewalldはゾーンを使用してルールを管理します。通常、サービスを public ゾーンに追加します。
# HTTPトラフィック(ポート80)を許可
sudo firewall-cmd --permanent --add-service=http
# HTTPSトラフィック(ポート443)を許可
sudo firewall-cmd --permanent --add-service=https
# ファイアウォールルールをリロード
sudo firewall-cmd --reload
検証:Nginxが稼働していることの確認
インストールが完了し、ファイアウォールが設定されたら、Nginxがコンテンツを正しく配信していることを確認できます。
方法1:ウェブブラウザでの確認
お好みのウェブブラウザを開き、サーバーのIPアドレスまたはドメイン名にアクセスします。
http://YOUR_SERVER_IP_ADDRESS
成功した場合、「Welcome to nginx!」と表示されるデフォルトのNginxウェルカムページが表示されるはずです。
方法2:コマンドラインでの確認
curl コマンドを使用して、サーバーのlocalhostからデフォルトのインデックスページの内容を直接取得します。
curl http://localhost
このコマンドは、ウェルカムページのHTMLソースコードを返すべきです。
必須のNginx管理コマンド
インストール後、Nginxプロセスを管理するためにsystemctlを頻繁に使用します。最も一般的なコマンドを以下に示します。
| アクション | コマンド |
|---|---|
| サーバーの起動 | sudo systemctl start nginx |
| サーバーの停止 | sudo systemctl stop nginx |
| 再起動(停止してから開始) | sudo systemctl restart nginx |
| リロード(ダウンタイムなしで設定変更を適用) | sudo systemctl reload nginx |
| ステータスの確認 | sudo systemctl status nginx |
| 起動時の自動起動を無効化 | sudo systemctl disable nginx |
ベストプラクティスのヒント: 設定ファイル(例:
/etc/nginx/nginx.conf)を変更する場合は、リロード前に必ず構文をテストしてください。エラーがないかテストするにはsudo nginx -tを使用します。テストが成功したら、sudo systemctl reload nginxを使用して変更を優雅に適用します。
次のステップ:初期設定
おめでとうございます、Nginxがインストールされ、実行されています!デフォルトの設定では、Debian/Ubuntuでは/var/www/html/index.nginx-debian.html、CentOS/RHELでは/usr/share/nginx/html/index.htmlからコンテンツが配信されます。
次のステップには、実際のウェブサイトファイルの場所を定義し、Nginxがドメインへのリクエストをどのように処理するかを定義するためのサーバーブロック(仮想ホストとも呼ばれます)の作成が含まれます。これらのブロックの設定ファイルは通常/etc/nginx/sites-available/に保存され、/etc/nginx/sites-enabled/にシンボリックリンクされます。
この初期インストールは、高性能ホスティング環境、ロードバランシングソリューション、安全なプロキシ設定を構築するための基盤を提供します。