ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

DebianでNginxを使用してWebサーバーをセットアップする方法

編集済み 3 数週間前 によって ExtremeHow 編集チーム

ディストリビューション型オペレーティングシステムNginxウェブサーバーウェブ開発サーバー設定リナックスシステム管理オープンソースコマンドラインインターフェースIT

DebianでNginxを使用してWebサーバーをセットアップする方法

翻訳が更新されました 3 数週間前

Nginxは、高いパフォーマンス、安定性、低リソース消費、シンプルな構成が特徴の広く使用されているWebサーバーソフトウェアです。この詳細なガイドでは、DebianオペレーティングシステムでNginxを使用してWebサーバーをセットアップする方法を見ていきます。手順に進む前に、Nginxが何であるか、Webサーバー構成においてなぜ有益であるかを理解することが重要です。

Nginxの理解

Nginx(「エンジンエックス」と発音)は、Webサービング、リバースプロキシ、キャッシング、負荷分散、メディアストリーミングなどのためのオープンソースソフトウェアです。10,000接続の同時処理という問題(C10k問題)に対処するためのプロジェクトとして始まりました。今日では、高負荷の管理におけるそのパフォーマンスと効率が人気です。HTTP、HTTPS、SMTP、POP3、IMAPプロトコルのリバースプロキシサーバー、負荷分散、HTTPキャッシュなどとして機能します。オープンソースであるため、無料で使用でき、世界中のコントリビューターによって常に改良されています。

前提条件

始める前に、以下のものがあることを確認してください:

これらの前提条件を満たしたら、DebianサーバーにNginxをインストールして構成することができます。

ステップ1:サーバーを更新する

最初のステップは、サーバーを最新のパッケージで最新の状態にすることです。システムを更新することで互換性の問題を減らし、セキュリティを向上させます。以下のコマンドを使用してサーバーを更新します:

sudo apt update sudo apt upgrade

apt updateコマンドは、パッケージのリストと利用可能なバージョンを更新します。apt upgradeコマンドは、古いパッケージを新しいバージョンにアップグレードします。

ステップ2:Nginxをインストールする

DebianのAPTパッケージマネージャーを使用すると、Nginxなどのソフトウェアパッケージを簡単にインストールできます。以下のコマンドを実行してNginxをインストールします:

sudo apt install nginx

このコマンドは、Nginxパッケージとその依存関係を取得してインストールします。インストールが完了すると、Nginxは自動的に起動します。

ステップ3:Nginxのインストールを確認する

Nginxがインストールされたら、そのインストールを確認し、正しく実行されていることを確認する必要があります。次のコマンドでNginxのステータスを確認します:

sudo systemctl status nginx

期待される出力はNginxがアクティブで実行中であることを示します。Nginxサービスを開始または停止したい場合は、以下を使用します:

sudo systemctl start nginx sudo systemctl stop nginx

Nginxへのアクセス

Nginxが実行中であることを確認したら、ブラウザを開いてサーバーのIPアドレスを検索します。サーバーのIPアドレスがわからない場合は、次のようにして確認できます:

hostname -I

ブラウザのアドレスバーにサーバーのIPアドレスを入力すると、Nginxのデフォルトのウェルカムページが表示されます。これにより、Nginxが正しくWebページをレンダリングしていることが確認されます。

ステップ4:ファイアウォールの設定

Debianシステムでは、UFW(簡単なファイアウォール)が通常、ファイアウォール管理ソフトウェアとして使用されます。サーバーでUFWが実行されている場合、HTTPトラフィックを介してWebサーバーに公開アクセスを許可する必要があります。UFWの現在のステータスを次のように確認できます:

sudo ufw status

UFWが有効な場合は、このコマンドを使用してNginxのHTTPトラフィックを許可します:

sudo ufw allow 'Nginx HTTP'

関連ルールが適用されていることを確認して、状況を再度確認します:

sudo ufw status

ステップ5:Nginxサービスを管理する

Nginxはバックグラウンドでサービスとして実行されます。このサービスはsystemctlコマンドを使用して管理できます。Nginxを管理するための便利なsystemctlコマンドを以下に示します:

ステップ6:Nginxの構成の理解

Nginxの構成ファイルは通常、/etc/nginxディレクトリにあります。メインの構成ファイルは/etc/nginx/nginx.confで、モジュールの管理、ユーザー権限の設定などの指示が含まれています。

多くの場合、仮想ホスト構成は/etc/nginx/sites-availableディレクトリに個別に管理されます。このディレクトリには、個々のドメインの構成ファイルが含まれており、/etc/nginx/sites-enabledにシンボリックリンクされて有効化されます。再利用可能な設定のための構成スニペットは/etc/nginx/snippetsにあります。

ステップ7:サーバーブロックを設定する

サーバーブロックは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で実行中のアプリケーションにプロキシされます。適切なデフォルト値を使用するか、ニーズに基づいて構成を調整します。

ステップ8:サーバーブロックをシンボリックリンクで有効にする

site-enabledに構成ファイルへのシンボリックリンクを作成します:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

この操作により、サーバーブロックが有効になります。可能性のあるエラーを検出するために新しい構成をテストします:

sudo nginx -t

エラーがない場合、変更を適用するためにNginxを再起動します:

sudo systemctl restart nginx

ステップ9:シンプルなHTMLウェブサイトを設定する

簡単な静的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にアクセスします。

ステップ10:SSL/TLSでセキュリティを実装する

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接続を確認します。

SSL証明書の自動更新

Certbotはsystemdジョブを設定してSSL証明書の自動更新を処理します。また、手動で更新チェックを実行することもできます:

sudo certbot renew --dry-run

アップグレードを確認し、エラーがないことを確認します。

最終的な考え

Nginxが構成されたら、さまざまなWebサイトをホストおよび提供することができます。サーバーのパフォーマンスを監視し、ログを管理し、Nginxおよびサーバーパッケージを最新の状態に保つことで、セキュリティと効率を維持してください。Nginx Webサーバーは、多くのWebタスクとアーキテクチャのニーズに適した強力なツールです。

結論

DebianでNginxを使用してWebサーバーをセットアップするには、構成の定義、サーバーブロックの追加、SSLによるセキュリティの確保が含まれます。Nginxのインストール、構成、管理の基本を理解することで、より複雑なアプリケーションやサービスのデプロイメントのための基盤が整います。これで、ページやアプリケーションを高効率で提供する準備が整ったWebサーバーを稼働させることができるはずです。

記事の内容に誤りがある場合, あなたは


コメント