UbuntuとNginxを管理するために理解する必要がある主な機能は何ですか?

UbuntuとNginxを管理するために理解する必要がある主な機能は何ですか?

最近、HTTP 用に独自の Ubuntu サーバーと Nginx の管理を開始しましたが、どの部分がどのサーバー、ポート、権限などに属しているかがよくわかりません。

Ubuntu が実際のサーバーであり、Nginx が単なる HTTP サーバーであることは理解していますが、どのサーバーが何を管理するのかはわかりません。たとえば、ファイアウォールを追加して一部のポートへのアクセスを制限したり、一部のファイルのファイル権限を変更したりする場合、これは Nginx なのか Ubuntu なのかと常に自問します (ここでの私の例では、両方とも Ubuntu が所有者であることはわかっています)。

この質問は非常に広範囲であることは承知していますが、どこかでダミーの質問をして始める必要があります。

  1. 両方の環境を理解するために必ず知っておく必要がある機能/トピックを定義するとしたら、それらの機能は何でしょうか?

  2. 各サーバーをどのように説明しますか?

  3. 最初に Ubuntu を学び、次に Nginx を学びますか、それとも両方を同時に学びますか?

  4. どこから学習を始めればよいでしょうか。良いチュートリアルはありますか?

ありがとう

答え1

Ubuntu Server は、多くのソフトウェアを管理するオペレーティング システムです。各ソフトウェアには独自の機能があり、nginx は Ubuntu サーバーにインストールできる別のソフトウェアで、要求されたファイルを返送する機能を追加します。Ubuntu には、nginx に関連付けられるポート (および nginx がリッスンするように構成されるポート) があるため、Ubuntu がそのポートに宛てられた要求を受信するたびに、nginx に「あの IP があなたにこう言いました」と伝え、nginx は「わかりました。それに答えてください」と応答します。構成されたポート経由での要求に対する nginx の応答に関係しないすべてのものは、別のソフトウェア (DNS の場合は bind9、ファイアウォール制限の場合は iptables など) によって管理されます。


  1. SSH の使い方と、コマンドを使用してソフトウェアをインストール/構成する方法を知っておく必要があります。また、HTTP サーバーを設定するには、ポートについて知っておくことが非常に重要だと思います。

  2. Ubuntu Server は、オペレーティングシステムと似ていますが、ユーザーの利便性のためだけに必要となる「無駄な」ものは一切ありません。nginx は、nginx に関連付けられたポート (HTTP(S) は通常 80(443)) で Ubuntu サーバーに宛てられたリクエストを受け取り、リクエストで要求されたファイルを返すサーバーです。リクエストを他のソフトウェアにリダイレクトして、ファイルを処理し、応答を nginx に送り返し、nginx がそれをユーザーに返します。

  3. Ubuntuを最初にインストールし、その後にnginxをインストールすることをお勧めします。Ubuntuをインストール/設定し、その後Ubuntuからnginxを構成/インストールする必要があります。

  4. 世の中には優れたチュートリアルが数多く存在します。これですは良いもののようです。サーバーを最初からインストールし、メールサーバー (postfix/dovecot)、http サーバー (nginx/apache)、DNS サーバー (bind) などのサービスをインストールする方法を教えてくれます。これは、ニーズに応じて完全なチュートリアルすぎるかもしれませんが、両方の環境を理解するのに良い方法かもしれません。また、ソフトウェアのドキュメントは、問題が発生した場合の最良の味方になります。こちらはnginxのものです

関連情報