CentOS 7 で nginx 1.18.x をインストールする
1. 事前に準備する
仮想マシンのダウンロードとインストールについては、以前のブログを参照してください↓
VMwareのダウンロード、インストール、仮想マシンの作成
VMwareのインストール Centos7究極のステップバイステップ詳細グラフィックプロセス
nginx ソース コード パッケージのダウンロードもあります:
公式 Web サイトの最新バージョンは1.19.6で、最新の安定バージョンは1.18.0です。ここでは安定バージョンを選択します:
ダウンロード アドレス: nginx: ダウンロード (公式 Web サイト) )
ダウンロードリンク: nginx-1.18.0
もちろん、wget を使用して Linux に直接ダウンロードすることもできます。
wget http://nginx.org/download/nginx-1.18.0.tar.gz
2. インストールを開始します
- ファイルのアップロード
wget を使用する友人は、この手順をスキップできます。
アップロード方法については、ここでは詳しく説明しません。次の 1 つを示します: [Linux] 1. Xshell はどのように仮想マシンに接続してファイルをアップロードしますか?
ファイルを/usr/にアップロードします。ローカルディレクトリ:
- インストール環境に依存
ここには多くの依存環境があり、次の 4 つをインストールする必要があります。
初め: gcc の環境
C 言語コードをインストールします。コンパイル環境は通常、gcc を使用して直接完成します。たとえば、redis についても同様です。インストール コマンドは次のとおりです。
yum install gcc-c++
make コンパイルの失敗に関する問題がある場合:
以前redisをインストールした際、makeコマンドでコンパイルする際にエラーが発生しましたが、調べてみると、インストールされているredisのバージョンが高く、gcc環境のcent osのバージョンが低いことが原因でした。コンパイルが成功する前にバージョンがアップグレードされました。ここではすでにアップグレードしているので、非常に長いアップグレード コマンドを次に示します。
yum -y install centos-release-scl && yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils && scl enable devtoolset-9 bash
最後のscl enable devtoolset-9 bashコマンドは gcc バージョンを切り替えますが、この切り替えは一時的なものです。Linux システムを再起動して gcc バージョンを確認すると、バージョン 4.8.5 (CentOS 7 のデフォルト バージョン) に戻ります。次のコマンドを使用して gcc バージョンを切り替えます。
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
実際、これはプロファイルファイルにコマンドを追加することを意味します: source /opt/rh/devtoolset-9/enable
最後に、gcc -vコマンドを使用して現在の gcc バージョンを確認します。
二番目: PCRE をインストールするための環境
PCRE (Perl Compatible Regular Expressions) は、Perl 互換の正規表現ライブラリを含む Perl ライブラリです。nginx の http モジュールは正規表現の解析に pcre を使用するため、Linux には pcre ライブラリをインストールする必要があります。
注: pcre-devel は、pcre を使用して開発された二次開発ライブラリです。nginx にもこのライブラリが必要です。
インストールコマンドは以下のとおりです。
yum install -y pcre pcre-devel
第3: zlib をインストールするための環境。zlib
ライブラリには多くの圧縮および解凍方法が用意されています。nginx は zlib を使用して http パッケージの内容を gzip (圧縮) するため、Linux には zlib ライブラリをインストールする必要があります。
zlib-develについても同様です。
インストールコマンドは以下のとおりです。
yum install -y zlib zlib-devel
第4: OpenSSL をインストールするための環境
OpenSSLは、主要な暗号化アルゴリズム、一般的に使用されるキーと証明書のカプセル化管理機能、および SSL プロトコルを含む強力な Secure Sockets Layer 暗号化ライブラリであり、テストやその他の目的のための豊富なアプリケーションを提供します。nginx は http プロトコルをサポートするだけでなく、https (つまり、SSL プロトコルを介して http を送信する) もサポートするため、Linux に openssl ライブラリをインストールする必要があります。
openssl-devel は同じ理由で引き続き使用できます。
インストールコマンドは以下のとおりです。
yum install -y openssl openssl-devel
- ファイルを解凍する
コマンドを使用します:
tar -zxvf nginx-1.18.0.tar.gz
解凍ディレクトリを指定しない場合は、デフォルトで現在のディレクトリに解凍されます: nginx-1.18.0
コマンドの最後に -C とパスを使用して解凍ディレクトリを指定することもできます。
- コンパイルしてインストールする
まず、以前に解凍したディレクトリnginx-1.18.0に入ります。
このディレクトリには実行可能プログラムがあります: configure.
このプログラムを使用して、最初にインストール構成ファイルを作成します: makeFile .では、makeFile ファイルとは何ですか?
Makefile は構成ファイルです。Makefile プロジェクト内のソース ファイルはカウントされません。ソース ファイルは、タイプ、機能、モジュールに応じていくつかのディレクトリに配置されます。Makefile は、どのファイルを最初にコンパイルする必要があるか、どのファイルをコンパイルする必要があるかを指定する一連のルールを定義します。ファイル ポストコンパイルが必要で、どのファイルを再コンパイルする必要があります。メイクファイルはシェル スクリプトに似ており、オペレーティング システム コマンドも実行できるため、さらに複雑な機能操作を実行できます。
makeFile をビルドするための最も簡潔なコマンドは次のとおりです。
./configure
ただし、ここではこの単純なものは使用しません。このコマンドの後にいくつかのパラメータ値を追加します。もちろん、次のように、パラメータ値なしのデフォルト値が使用されます。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-pcre
対応するパラメータ値を指定する関数は次のとおりです。
パラメータ値 | 範囲 |
---|---|
–prefix=/usr \ | インストールディレクトリを指定する |
–sbin-path=/usr/sbin/nginx \ | プログラムファイル(nginx)を指定(実行)します。 |
–conf-path=/etc/nginx/nginx.conf \ | 設定ファイルを指す |
–エラーログパス=/var/log/nginx/error.log \ | ログへのポイント |
–http-log-path=/var/log/nginx/access.log \ | http-log をポイントします |
–pid-path=/var/run/nginx/nginx.pid \ | pid へのポイント |
–lock-path=/var/lock/nginx.lock \ | インストール ファイルは、他人による使用や自分による悪用を防ぐためにロックされています。 |
–user=nginx \ | 現在のユーザーを指す |
–group=nginx \ | 現在のユーザーグループを指します |
–with-http_ssl_module \ | ngx_http_ssl_module サポートを有効にする (https リクエストをサポートするには、openssl をインストールする必要があります) |
–with-http_flv_module \ | ngx_http_flv_module サポートを有効にする (メモリ使用量を求めるための時間ベースのオフセット ファイルを提供します) |
–with-http_stub_status_module \ | ngx_http_stub_status_module サポートを有効にする (最後の起動以降の nginx の動作ステータスを取得する) |
–with-http_gzip_static_module \ | ngx_http_gzip_static_module サポートを有効にする (オンラインのリアルタイム圧縮出力データ ストリーム) |
–http-client-body-temp-path=/var/tmp/nginx/client \ | httpクライアントリクエストの一時ファイルパスを設定します。 |
–http-proxy-temp-path=/var/tmp/nginx/proxy \ | httpプロキシの一時ファイルのパスを設定する |
–http-fastcgi-temp-path=/var/tmp/nginx/fcgi \ | http fastcgi 一時ファイルのパスを設定します |
–http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ | http uwsgi 一時ファイルのパスを設定します |
–http-scgi-temp-path=/var/tmp/nginx/scgi \ | http scgi 一時ファイルのパスを設定します |
–with-pcre | pcre ライブラリを有効にする |
OK、 makeFileファイルがビルドされました。
下に来てコンパイルを開始し、次のコマンドを使用します。
make
成功したら、インストールを続行します。
make install
これは非常に高速で、すぐに完了します:
コンパイル ディレクトリと同じディレクトリに nginx という名前のフォルダが構築されます:
やめて、上に別のフォルダがあるため、ここに別のフォルダを作成する必要があると言いました。指定された一時ファイル ディレクトリmakeFile は /var/temp/nginx/client です。このディレクトリは /var の下に作成する必要があります (-p パラメータはサブディレクトリを作成するためのものです)。
mkdir /var/temp/nginx/client -p
これでnginxのインストールは完了です。次にテストを実施します。
3. テストと共通コマンド
Nginx ディレクトリの下の sbin ディレクトリに入ります。
その中には何もなく、実行可能プログラムがあるだけです。。。走ろう
./nginx
次のコマンドを使用してプロセスを表示できます。
ps aux|grep nginx
nginx のメイン プログラム マスターとワーカー プログラムがそれぞれ 2 つのスレッド上にあることが判明しました:
ページを見てみましょう, そのエージェントは http が配置されている 80 ポートをリッスンするので、ここでは直接アクセスします:
ip + 80 ポート。実際には、ポートを入力する必要はありません。デフォルトの番号も 80 です。
最後に、いくつかの一般的なコマンドを追加します。
注文 | 効果 |
---|---|
./nginx | Nginxを起動する |
./nginx -s リロード | Nginxを再起動します(Nginx設定ファイルを更新します) |
./nginx -s 停止 | Nginxをシャットダウンする |
./nginx -s 終了 | Nginx をオフにする (推奨) |
確かに、
kill -9 线程id
オフにすることもできます 0.0