Web 学習ノート 1 日目 - 関連概念、nginx の概要 (HTTP、リバース プロキシ)、nginx のコンパイルとインストール

目次

寝具

Web上でよく使われる用語の解説

1.ウェブページ -- ウェブページ

2. ウェブサイト -- ウェブサイト

3.Webサーバー -- Webサーバー

4.検索エンジン -- 検索エンジン

ウェブサイト、ミニプログラム、アプリの違い

ウェブサイトの構造:

アプリのアーキテクチャ:

ミニプログラムの構造:

信号

nginxの紹介

HTTP

リバースプロキシ

nginxをコンパイルしてインストールする

1.ダウンロード

2. ソフトウェアを解凍し、解凍したフォルダーに入ります

3. ソフトウェアの依存関係とインストールが必要なソフトウェア パッケージを解決する

4. コンパイル前の設定

5.コンパイル

6.取り付け

7. 指定したインストール ディレクトリに移動して表示します。

8.nginxを起動する


寝具

Web上でよく使われる用語の解説

1.ウェブページ -- ウェブページ

ブラウザで表示できる文書

2. ウェブサイト -- ウェブサイト

多くの Web ページがグループ化され、さまざまな方法で相互に接続されているコレクション

3.Webサーバー -- Webサーバー

インターネット上で Web サイトをホストするコンピューター ハードウェア機器

4.検索エンジン -- 検索エンジン

Baidu、Google など、他の Web ページの検索に役立つ Web サイト。

ウェブサイト、ミニプログラム、アプリの違い

ウェブサイトの構造:

アプリのアーキテクチャ:

ミニプログラムの構造:

信号

xshell のセッションで自分で記述した Web プロセスを実行していることがわかりました。セッションを閉じると、実行したプロセスが自動的に終了します。これはなぜですか? 議論する合図から始めましょう

kill コマンドはプロセスを強制終了するために使用され、kill -l コマンドは Linux でシグナルのタイプを表示するために使用できます。

より一般的に使用される信号には次のようなものがあります。

15) SIGTERM: シグナルを指定しない場合、このタイプのシグナルがデフォルトで送信されます。このシグナルはプログラムに自身を終了するように指示します --> プロセスを自殺させます。このシグナルはブロックできます。

9) SIGKILL: カーネルはプロセス終了プログラムを呼び出し、プロセスを直接強制終了しますが、プロセスが同意するか否かに関係なく、プロセスをブロックすることはできません。

1) SIGHUP: このシグナルを受信すると、プロセスは終了します。最初のプロセスが終了すると、子プロセスに SIGHUP シグナルを送信します。

2) SIGINT: 割り込みキー(Ctrl+C)の実行信号で、プログラム実行中に割り込みキーを押すと、プログラムを実行しているプロセスが終了します。

カーネル: Linux システムの中核となるソフトウェアで、C 言語で書かれており、次の機能があります。

1. CPU を管理し、管理用の CPU に対するプロセスをスケジュールします。

2. プロセスの開始、強制終了、終了などを管理します。

3. メモリ空間の割り当て、どのメモリ空間が使用されているか、どのメモリ空間が使用されていないか、どのプロセスが割り当てられているかなどを確認します。

4. ディスク内のファイルシステムの管理、ファイルの読み取り、書き込み、検索などの管理を行います。

5. ネットワーク カード、サウンド カード、グラフィックス カードなどの他のハードウェアを管理します。

セッションを閉じるとき、つまり ssh が閉じられた後、システムは関連プロセスを強制終了し、実行中の Web プロセスは SIGHUP シグナルを受信して​​終了します。ウィンドウが閉じたときにプログラムを続行できるようにするには、nohup コマンドを使用します。は閉じられています。バックグラウンドで実行されます。nohup コマンド: hup 信号の影響を受けないようにするコマンドを実行し、影響を受けないようにする

[root@router apiserver]# nohup scweb &     #&符号表示将进程放在后台运行
[1] 6358
[root@router apiserver]# nohup: 忽略输入并把输出追加到"nohup.out"

トラップコマンド: シグナル受信後に実行するアクションを指定するために使用できます。つまり、シグナル番号 9 以外のシグナルをキャプチャできます。一般的な用途は、スクリプト プログラムが中断されたときにクリーンアップ作業を完了することです。

nginxの紹介

nginx公式ウェブサイト:https ://nginx.org/

nginx は、HTTP プロトコルをサポートする Web サーバー ソフトウェアであり、ユーザー アクセス トラフィックをバックエンド サーバーに転送するためのリバース プロキシ (負荷分散) として使用できます。nginxはメールサーバーとしても使えます。

HTTP

プロトコル: 異なるプログラム間の通信に使用される言語として理解され、送信中のデータの外観、データの構成、含まれるコンテンツなどを規定します。プロトコルは本質的に、データをカプセル化するために使用されます。 Python などの辞書と考えることができます。

HTTP プロトコル: ハイパーテキスト転送プロトコルは単純な要求/応答プロトコルで、通常は TCP 上で実行され、クライアントがサーバーに送信できるメッセージと、クライアントが取得する応答の種類を指定します。

ハイパーテキストを理解するにはどうすればよいでしょうか? テキストは画像のない単なるテキストですが、ハイパーテキストはテキストだけでなく、画像、音声、ビデオなどが含まれる場合があります。

http プロトコルを使用するのは誰ですか? ブラウザ、Webサーバーソフトウェア、クローラー

HTTP プロトコルの動作メカニズム:

1. パッケージをリクエストする

2.レスポンスパッケージ

リバースプロキシ

エージェントは仲介者として理解され、フォワード エージェントとリバース エージェントに分けられます。

フォワード プロキシ: LAN 内のマシンがインターネットにアクセスするためのプロキシとして機能します。つまり、ユーザーがアクセスするためのプロキシとして機能します --> ユーザーの観点から、ユーザーは Web サイトにより速くアクセスできるようになります。

リバース プロキシ: プロキシ サーバーはユーザーのリクエストを受信し、それを実際のバックエンド Web サーバーに転送します。このサーバーは負荷分散の役割を果たします --> 企業の観点から、ユーザーは迅速かつ安定してアクセスできるようになります

nginxをコンパイルしてインストールする

ソフトウェアのインストールには、次の 2 つの古典的なインストール方法があります。

1. yum インストール: yum install nginx を直接使用してインストールします. 最下層は、nginx が用意した rpm パッケージの場所を知る必要があり、そうでないとインストールできません。rpm パッケージは、redhat/centos システムのソフトウェア インストール パッケージです。rpm で終わります。これは、Windows では .exe で終わるインストール パッケージとして理解されます。rpm パッケージは、ソース コードを使用して他人が作成したソフトウェア パッケージです。直接インストールして使用します。RPM パッケージは通常、システム ディスク、公式 Web サイト、およびサードパーティの Web サイトにあります。

        rpm は Linux でソフトウェアをインストールするためのコマンドです。依存関係を自動的に解決することはできないため、手動で完了する必要があります。yum も Linux でソフトウェアをインストールするためのコマンドですが、yum は依存関係を自動的に解決するのに役立ちます。

2. コンパイルとインストール: ソース コード パッケージをダウンロードし、固定プロセスに従ってインストールします。ソース コードのダウンロード -> コンパイル前の設定 -> コンパイル -> コンパイルとインストール。コンパイル前の設定は主にコンパイル計画を立てることを目的としています。コンパイルとインストールは、必要な機能と不要な機能、指定された場所へのインストールなどをカスタマイズできます。企業のビジネス ニーズを自社の状況に応じてカスタマイズできるため、リソースが節約され、パフォーマンスが向上します。

1.ダウンロード

wget またはcurl を使用してダウンロードできます: wget -- Linux のダウンロード ソフトウェアです。使用する前にこのコマンドをダウンロードする必要があります (yum install wget)。curl は Linux の文字インターフェイス ブラウザです。

[root@router apiserver]# mkdir /nginx     #新建目录存放nginx相关文件
[root@router apiserver]# cd /nginx/
[root@router nginx]# curl -O https://nginx.org/download/nginx-1.24.0.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1086k  100 1086k    0     0  20964      0  0:00:53  0:00:53 --:--:-- 23985
[root@router nginx]# ls
nginx-1.24.0.tar.gz

2. ソフトウェアを解凍し、解凍したフォルダーに入ります

[root@router nginx]# tar xf nginx-1.24.0.tar.gz 
[root@router nginx]# ls
nginx-1.24.0  nginx-1.24.0.tar.gz
[root@router nginx]# cd nginx-1.24.0
[root@router nginx-1.24.0]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src

src フォルダーには、nginx のプログラム ソース コードが保存されます。configure は、nginx によって提供される構成スクリプト ファイルです。このスクリプトは、指定した構成を収集し、Makefile ファイルを生成します。この Makefile は、次の make コマンドに、その方法を指示します。コンパイル

3. ソフトウェアの依存関係とインストールが必要なソフトウェア パッケージを解決する

[root@router nginx-1.24.0]# yum install epel-release -y
[root@router nginx-1.24.0]# yum install gcc openssl openssl-devel pcre pcre-devel automake make -y

4. コンパイル前の設定

[root@router nginx-1.24.0]# ./configure --prefix=/usr/local/sumeng99 --user=meng --with-http_ssl_module --with-stream --with-http_v2_module --with-threads --with-http_stub_status_module

--prefix=path: インストール パスを指定します。デフォルトでは /usr/bin/nginx にインストールされます。

--conf-path=path: 設定ファイルへのパスを指定します。

--user=name: nginx ワークプロセスを開始するユーザーを指定します

--with-http_ssl_module: https 機能をオンにする --with で始まるものは特定の機能を有効にすることを意味し、--without で始まるものは特定の機能を無効にすることを意味します。

--with-stream: tcp/udp リバースプロキシ機能をサポートします。

--with-http_v2_module: http 2.0 バージョンのサポート

--with-threads: スレッド プール テクノロジをサポートします。

--with-http_stub_status_module: nginx ステータス統計関数を有効にして、nginx にアクセスした人の数を確認します。

5.コンパイル

[root@router nginx-1.24.0]# make -j 2

Make は実際に Makefile の設定に従ってプログラムをバイナリファイルにコンパイルし、そのバイナリファイルは直接実行できるプログラムです。

6.取り付け

指定されたパスにバイナリ プログラムをインストールします

[root@router nginx-1.24.0]# make install

7. 指定したインストール ディレクトリに移動して表示します。

[root@router nginx-1.24.0]# cd /usr/local/sumeng99/
[root@router sumeng99]# ls
conf  html  logs  sbin
[root@router sbin]# pwd
/usr/local/sumeng99/sbin     #启动程序存放的路径
[root@router sbin]# ls
nginx

sbin: nginxの実行ファイルを格納(起動、シャットダウン)

ログ: ログ ファイルを保存する

html: Web サイトの Web ページ ファイルを保存します。

conf: nginx設定ファイルを保存します

8.nginxを起動する

[root@router sbin]# useradd meng -s /sbin/nologin     #新建启动nginx的用户
[root@router sbin]# ./nginx
[root@router sbin]# ps aux|grep nginx
root       6600  0.0  0.3 149868  5660 pts/0    S+   20:57   0:00 vim onekey_install_nginx.sh
root      12289  0.0  0.0  46236  1164 ?        Ss   22:29   0:00 nginx: master process ./nginx
meng      12290  0.0  0.1  46696  1916 ?        S    22:29   0:00 nginx: worker process
root      12292  0.0  0.0 112824   984 pts/2    S+   22:29   0:00 grep --color=auto nginx
[root@router sbin]# netstat -anplut|grep nginx     #默认监听80端口
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      12289/nginx: master

IP+ポートにアクセス: http://192.168.188.254/

nginx を停止します。

[root@router sbin]# ./nginx -s stop
[root@router sbin]# ps aux|grep nginx
root      12303  0.0  0.0 112824   988 pts/2    S+   22:34   0:00 grep --color=auto nginx

おすすめ

転載: blog.csdn.net/m0_69298614/article/details/132512484