背景:負荷分散テストサーバーの nginx バージョンが低すぎてセキュリティ上の脆弱性があるため、関連する脆弱性修復情報を照会した後、脆弱性を修復するために nginx バージョンをアップグレードする必要があります。 Nginx スムーズ アップグレード ソリューション1. このケースで使用したバージョンの紹介 古いバージョン nginx-1.12.2.tar.gz 新しいバージョン nginx-1.20.1.tar.gz 2. 現在実行中のバージョンはnginx-1.12.2です ポート 8080 を設定し、ホームページの index.html を変更します。スムーズなアップグレード後も引き続きアクセスできます。 3. 新しいバージョンのnginx-1.20.1.tar.gzを解凍し、コンパイルして古いバージョンのnginx-1.12.2のディレクトリにインストールし、元のnginx.conf設定ファイルを実行して、次のように実行します。 ./configure --prefix=/usr/local/nginx-1.12.2 --conf-path=/usr/local/nginx-1.12.2/nginx.conf --pid-path=/usr/local/nginx-1.12.2/nginx.pid --user=ngadm --group=ngadm --with-http_stub_status_module --without-http_rewrite_module 作成 && インストール 4. 完了すると、バージョン 1.20.1 は元の sbin ディレクトリに新しい nginx バイナリ ファイルを自動的に生成し、古い nginx は自動的に nginx.old に置き換えられます。 5. スムーズなアップグレード Nginx はプロセスに対して非常に強力な制御機能を備えており、シグナル命令を通じてプロセスを制御できます。よく使用される信号は次のとおりです。
nginx プロセス制御信号に従って、次のように実行します。 kill -USR2 38323 (古いプロセスのPIDは38323です) ps -ef |grep nginx 新しいマスター プロセスに切り替えて、古いワーカー プロセスを閉じます。古いマスター プロセスはまだ存在することに注意してください。次のように実行します。 kill –WINCH 38323 (古いプロセスのPIDは38323です) ps -ef |grep nginx 現在のバージョンを確認する nginx を再起動する アップグレードは正常に完了しました。 注意: この時点で、新しいバージョンの nginx のマスター PID は 41063 です。同時に、古いバージョンのマスター プロセス (古いプロセス PID は 38323) も存在します。ロールバックする必要がない場合は、次のようにして古いプロセスの終了操作を実行できます。 終了 –QUIT 38323 フォールバック手順ロールバック操作には 2 種類あります。 1. 事前に古いバージョンの nginx をバックアップします。問題がある場合は、古いバージョンを /usr/local ディレクトリにコピーし、古いバージョンの nginx を再起動します。次のように実行します。 nginx をキルする nginx-1.12.2 をコピーします。 /usr/local/nginx-1.12.2/sbin/nginx –c /usr/local/nginx-1.12.2/nginx.conf nginx のステータスを確認する ps –ef |grep nginx 2. 新しいバージョンの nginx のマスター プロセスと古いバージョンのマスター プロセスが同時に存在する場合は、以下を実行します。 マスタープロセスの古いバージョンに戻す kill -HUP 古いマスターPID 新しいバージョンの nginx のマスター プロセスを閉じ、元の sbin ディレクトリにある nginx.old (古いバージョンの nginx バイナリ ファイル) を nginx に戻して、nginx を管理します。 kill -WINCH 新しいマスターPID kill -QUIT 新しいマスターPID cp /usr/local/nginx-1.12.2/sbin/nginx.old /usr/local/nginx-1.12.2/sbin/nginx nginxのバージョンが元のバージョンに戻ったことを再度確認します nginx を再起動する 要約するNginx バージョンのスムーズなアップグレードソリューションに関するこの記事はこれで終わりです。Nginx バージョンのスムーズなアップグレードに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: MYSQL row_number() および over() 関数の詳細な使用方法
1. はじめに最近、あるプロジェクトに取り組んでいたのですが、サーバーからクライアントに返される J...
以前のブログでは、Tomcatのサーバーの各コンポーネントの使用について学びました。 Tomcatは...
Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...
<table>テーブルデータをJSON形式に変換するJavaScript関数は次のとおり...
目次導入1. 事例の概要2. 環境の展開3. Nginxホストのインストール4. Tomcatのイン...
はじめに使えるかもしれないが、あまり使われていない、シンプルで実用的なDockerコマンドをいくつか...
注: 私はCentosを使ってdockerをインストールしていますステップ1: Dockerをインス...
1.Mysql接続方法MySQL 通信プロトコルを理解するには、まず MySQL サーバーへの接続に...
Python 3.4でMySQLデータベースを使用する詳細なプロセスは次のとおりです。 Window...
Linux 操作実験環境: Centos7 仮想マシンまず、共通ユーザーgubeiqingを作成しま...
目次序文XA プロトコルMySQL XA で分散トランザクションを実装する方法序文MySQL が単一...
MySQL の explain コマンドは SQL のパフォーマンスを分析できます。その 1 つが ...
目次1. 脱構築とは何か? 2. 配列の分割3. 配列モードと代入モードの統一4. デフォルト値の構...
目次1. Tsとは何か2. 基本的な文法1. プリミティブデータ型を宣言する2. オブジェクト型を宣...
1. サービス方法ファイアウォールのステータスを確認します。 [root@centos6 ~]# サ...