編集済み 3 数週間前 によって ExtremeHow 編集チーム
ディストリビューション型オペレーティングシステムNginxウェブサーバーウェブ開発サーバー設定リナックスシステム管理オープンソースコマンドラインインターフェースIT
翻訳が更新されました 3 数週間前
Nginxは、高いパフォーマンス、安定性、低リソース消費、シンプルな構成が特徴の広く使用されているWebサーバーソフトウェアです。この詳細なガイドでは、DebianオペレーティングシステムでNginxを使用してWebサーバーをセットアップする方法を見ていきます。手順に進む前に、Nginxが何であるか、Webサーバー構成においてなぜ有益であるかを理解することが重要です。
Nginx(「エンジンエックス」と発音)は、Webサービング、リバースプロキシ、キャッシング、負荷分散、メディアストリーミングなどのためのオープンソースソフトウェアです。10,000接続の同時処理という問題(C10k問題)に対処するためのプロジェクトとして始まりました。今日では、高負荷の管理におけるそのパフォーマンスと効率が人気です。HTTP、HTTPS、SMTP、POP3、IMAPプロトコルのリバースプロキシサーバー、負荷分散、HTTPキャッシュなどとして機能します。オープンソースであるため、無料で使用でき、世界中のコントリビューターによって常に改良されています。
始める前に、以下のものがあることを確認してください:
sudo
権限を持つユーザーとしてのサーバーへのアクセス。これらの前提条件を満たしたら、DebianサーバーにNginxをインストールして構成することができます。
最初のステップは、サーバーを最新のパッケージで最新の状態にすることです。システムを更新することで互換性の問題を減らし、セキュリティを向上させます。以下のコマンドを使用してサーバーを更新します:
sudo apt update sudo apt upgrade
apt update
コマンドは、パッケージのリストと利用可能なバージョンを更新します。apt upgrade
コマンドは、古いパッケージを新しいバージョンにアップグレードします。
DebianのAPTパッケージマネージャーを使用すると、Nginxなどのソフトウェアパッケージを簡単にインストールできます。以下のコマンドを実行してNginxをインストールします:
sudo apt install nginx
このコマンドは、Nginxパッケージとその依存関係を取得してインストールします。インストールが完了すると、Nginxは自動的に起動します。
Nginxがインストールされたら、そのインストールを確認し、正しく実行されていることを確認する必要があります。次のコマンドでNginxのステータスを確認します:
sudo systemctl status nginx
期待される出力はNginxがアクティブで実行中であることを示します。Nginxサービスを開始または停止したい場合は、以下を使用します:
sudo systemctl start nginx sudo systemctl stop nginx
Nginxが実行中であることを確認したら、ブラウザを開いてサーバーのIPアドレスを検索します。サーバーのIPアドレスがわからない場合は、次のようにして確認できます:
hostname -I
ブラウザのアドレスバーにサーバーのIPアドレスを入力すると、Nginxのデフォルトのウェルカムページが表示されます。これにより、Nginxが正しくWebページをレンダリングしていることが確認されます。
Debianシステムでは、UFW(簡単なファイアウォール)が通常、ファイアウォール管理ソフトウェアとして使用されます。サーバーでUFWが実行されている場合、HTTPトラフィックを介してWebサーバーに公開アクセスを許可する必要があります。UFWの現在のステータスを次のように確認できます:
sudo ufw status
UFWが有効な場合は、このコマンドを使用してNginxのHTTPトラフィックを許可します:
sudo ufw allow 'Nginx HTTP'
関連ルールが適用されていることを確認して、状況を再度確認します:
sudo ufw status
Nginxはバックグラウンドでサービスとして実行されます。このサービスはsystemctlコマンドを使用して管理できます。Nginxを管理するための便利なsystemctlコマンドを以下に示します:
sudo systemctl start nginx
: Nginxサービスを開始します。sudo systemctl stop nginx
: Nginxサービスを停止します。sudo systemctl restart nginx
: Nginxサービスを再起動します。構成ファイルの変更や軽微な問題を解決する場合に使用します。sudo systemctl reload nginx
: 接続を切断せずにNginxを再起動します。ユーザーの中断なしに変更を適用するのに便利です。sudo systemctl enable nginx
: ブート時にNginxが自動的に起動するように設定します。sudo systemctl disable nginx
: ブート時にNginxが自動的に起動しないようにします。Nginxの構成ファイルは通常、/etc/nginx
ディレクトリにあります。メインの構成ファイルは/etc/nginx/nginx.conf
で、モジュールの管理、ユーザー権限の設定などの指示が含まれています。
多くの場合、仮想ホスト構成は/etc/nginx/sites-available
ディレクトリに個別に管理されます。このディレクトリには、個々のドメインの構成ファイルが含まれており、/etc/nginx/sites-enabled
にシンボリックリンクされて有効化されます。再利用可能な設定のための構成スニペットは/etc/nginx/snippets
にあります。
サーバーブロックはNginxが単一のサーバーで複数のサイトを実行できるようにする、Apacheの仮想ホストに相当するものです。最初に/etc/nginx/sites-available/
に移動し、新しい構成ファイルを作成します:
sudo nano /etc/nginx/sites-available/example.com
次の構成ファイル内で、「example.com」を自分のドメイン名に置き換えます:
server { listen 80; server_name example.com www.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
この設定により、'example.com'へのリクエストは127.0.0.1:8080で実行中のアプリケーションにプロキシされます。適切なデフォルト値を使用するか、ニーズに基づいて構成を調整します。
site-enabled
に構成ファイルへのシンボリックリンクを作成します:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
この操作により、サーバーブロックが有効になります。可能性のあるエラーを検出するために新しい構成をテストします:
sudo nginx -t
エラーがない場合、変更を適用するためにNginxを再起動します:
sudo systemctl restart nginx
簡単な静的HTMLファイルを作成してセットアップをテストできます。ウェブルートとして機能する新しいディレクトリを作成します:
sudo mkdir -p /var/www/example.com/html
適切な権限を設定します:
sudo chown -R $USER:$USER /var/www/example.com/html
シンプルなHTMLファイルを作成します:
nano /var/www/example.com/html/index.html
index.html
に次のコンテンツを追加します:
<!DOCTYPE html> <html> <head> <title>Welcome</title> </head> <body> <h1>Welcome to example.com!</h1> </body> </html>
ウェブページを表示するには、http://your_server_ip
またはhttp://example.com
にアクセスします。
Webサーバーを保護するために、サイトのSSL/TLS証明書を導入することをお勧めします。Let's Encryptから無料でSSL証明書を取得できます。この証明書発行機関は無料の証明書を自動化サポート付きで提供しています。
Certbotユーティリティをインストールし、SSL証明書の取得とインストールのためにNginxプラグインをインストールします:
sudo apt install certbot python3-certbot-nginx
次に、Certbotを使用して証明書を要求します:
sudo certbot --nginx
Certbotは、ドメイン名やメールアドレスなどの必要な情報を尋ねます。正常に完了すると、CertbotはNginxを自動的にリロードします。https://example.com
を訪問して、パドロックアイコン付きのHTTPS接続を確認します。
Certbotはsystemdジョブを設定してSSL証明書の自動更新を処理します。また、手動で更新チェックを実行することもできます:
sudo certbot renew --dry-run
アップグレードを確認し、エラーがないことを確認します。
Nginxが構成されたら、さまざまなWebサイトをホストおよび提供することができます。サーバーのパフォーマンスを監視し、ログを管理し、Nginxおよびサーバーパッケージを最新の状態に保つことで、セキュリティと効率を維持してください。Nginx Webサーバーは、多くのWebタスクとアーキテクチャのニーズに適した強力なツールです。
DebianでNginxを使用してWebサーバーをセットアップするには、構成の定義、サーバーブロックの追加、SSLによるセキュリティの確保が含まれます。Nginxのインストール、構成、管理の基本を理解することで、より複雑なアプリケーションやサービスのデプロイメントのための基盤が整います。これで、ページやアプリケーションを高効率で提供する準備が整ったWebサーバーを稼働させることができるはずです。
記事の内容に誤りがある場合, あなたは