目次
3. ソフトウェアの依存関係とインストールが必要なソフトウェア パッケージを解決する
7. 指定したインストール ディレクトリに移動して表示します。
寝具
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