LinuxにNginxをインストールする正しい手順

LinuxにNginxをインストールする正しい手順

序文

私のように、Java バックエンドに勤勉な人であれば、多数のプロジェクト機能を実装することに加えて、プロジェクトの展開と運用および保守も考慮する必要があります。新しいサーバーに新しい Nginx をインストールします。インストール前にオンライン チュートリアルを確認してください。さまざまなチュートリアルやインストール方法を見ると、どの方法が最適か、どの方法が自分に最も適しているかが常に疑問に思うでしょう。次に、さまざまな Nginx のインストール方法を分析し、それぞれがどのような状況に適しているかを確認しましょう。

システムバイナリソースを使用してインストールする

Ubuntu/Debianの場合

sudo apt-get でnginxをインストールします

またはRedHat/CentOS

sudo yum nginxをインストール

この方法は最も簡単で早い方法ですが、最善の方法ではありません。この主な問題については以下で説明します。

アドバンテージ

  • インストールバイナリの依存関係はすべて処理されており、互換性の問題を心配する必要はなく、すぐに使用できます。
  • Nginxの接続設定、ユーザー権限、これらに対処する必要はありません。あなたのために書かれています
  • Nginxのバグメンテナンスやアップグレードを心配する必要はありません。最新のシステムを入手するだけです。
  • アンインストールは簡単で、コマンド1つだけです
  • ログのメンテナンスは簡単で、その日のログを自動的に切り捨て、圧縮して保存します。

欠点

  • インストールバージョンを個別に選択できない
  • コンパイルされたモジュールを個別に選択することはできません
  • 機能拡張が面倒になり、再コンパイルが必要になる
  • ディレクトリ構造は複雑で、設定ファイルは/etc/にあり、デプロイメントファイルは/var/wwwにあります。
  • サービスの再起動と構成の変更にはルート権限が必要です
  • コンパイルとインストールのパフォーマンスが悪い

Linux 初心者の場合は、このインストール方法を使用することを強くお勧めします。コンパイルの依存関係を心配する必要がなく、インストール後すぐに使用できます。ただし、サーバーが実稼働環境で使用されており、開発中であり、徐々に改善されている場合は、この方法はお勧めできません。将来的にはサードパーティのモジュールが追加される可能性があり、その場合は必ずコンパイルしてインストールする必要があります (以下で説明)。サーバーを再起動するときは、root ユーザーを使用せず、sudo を使用して一時的に root 権限を取得します。サーバーが静的ファイルと Web スペースを展開するために使用されており、通常は FTP ツールを使用してファイルを展開する場合は、この方法を使用しても問題はありません。

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

メリットとデメリットについては書きませんが、基本的には上記の逆になります。この方法でインストールするには、Linux コンパイルに関するある程度の知識が必要であり、中級レベルの Linux ユーザーのみが扱えます。オンラインのチュートリアルのほとんどでは、コンパイル依存関係を /usr/local/ に直接インストールしますが、これは良い方法ではありません。将来これらの依存関係をアンインストールしたい場合、非常に面倒になります。ディレクトリ カテゴリを単純に削除することはできません。一部の Linux ディストリビューションでは、インストール ファイルを構成ファイルに書き込みますが、これらの構成ファイルがどこにあるかわかりません。依存バージョンが他のソフトウェアに影響を与える場合、バージョンの問題にどのように対処するか。 Nginx をインストールしたかっただけでしたが、多くの問題が発生しました。

コンパイル環境の準備

始める前に、Linux システムに gcc、make、wget、g++ がインストールされていることを確認してください。

ダウンロードしたファイルを保存するディレクトリを作成し、依存ライブラリのソースファイルをダウンロードするディレクトリを入力します。

主にSSLモジュールの暗号化、httpのサポートのためにopensslをダウンロードします

https://www.openssl.org/source/openssl-1.0.2s.tar.gz をダウンロードしてください

アドレスリダイレクト、アドレス書き換え、ローカライズ命令、正規表現のサポートを実装するには、pcre をダウンロードしてください。

https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz をダウンロードしてください

zlib gzip 圧縮モジュールをダウンロード

https://zlib.net/zlib-1.2.11.tar.gz をダウンロードしてください

Nginxをダウンロード

http://nginx.org/download/nginx-1.17.1.tar.gz をダウンロードしてください

tarを使用してすべてのファイルを解凍します

ls *.tar.gz | xargs -n1 tar xzvf

コンパイルオプション

./configure を使用して、ソースおよび構成ファイルへのパス、コンパイラ オプション、接続処理方法、モジュール リストなど、さまざまな Nginx パラメータを設定するスクリプト。スクリプトは、コードをコンパイルして Nginx Open Source をインストールするために必要な Makefile を作成して終了します。

パラメータ説明する
--prefix=<パス> Nginx インストール ディレクトリの基本的な場所、および他の configure スクリプト オプションによって設定されたすべての相対パス。デフォルト値 /usr/local/nginx
–sbin-path=<PATH Nginx バイナリ実行ファイルの名前。デフォルト値: <prefix>/sbin/nginx
--conf-path=<パス> Nginx 構成ファイルの名前。ただし、nginx コマンドラインのオプションを使用して別のファイルを指定することにより、起動時にこの値をいつでも上書きできます。デフォルト: <prefix>conf/nginx.conf -c <FILENAME>
--pid-path=<パス> nginx マスター プロセスのプロセス ID を保存するために使用される nginx.pid ファイルの名前。インストール後、Nginx 構成ファイルの pid ディレクティブを使用してファイル名へのパスを変更できます。デフォルト値: <prefix>/logs/nginx.pid
--error-log-path=<パス>エラー、警告、診断データのログ ファイルの名前。インストール後、Nginx 構成ファイルの error_log ディレクティブを使用してファイル名を変更できます。デフォルト値: <prefix>/logs/error.log
–http-log-path=<パス> HTTP サーバー要求のメイン ログ ファイルの名前。インストール後は、Nginx 構成ファイルの access_log ディレクティブを使用して、いつでもファイル名を変更できます。デフォルト値: <プレフィックス> /logs/access.log
--user=<名前> Nginx 実行プロセスの所有者。インストール後、Nginx 構成ファイルのユーザー ディレクティブを使用して名前を変更できます。デフォルト: なし
–グループ=名前nginx 実行プロセスの所有者ユーザー グループ。インストール後、NGINX 構成ファイルのユーザー ディレクティブを使用して名前を変更できます。デフォルト値: --user オプションで設定された値
--with-pcre=<パス> PCRE ライブラリ ソース コードへのパス。これは、location ディレクティブと Rewrite モジュールでの正規表現のサポートに必要です。
--pcre-jit を使用する「ジャストインタイムコンパイル」サポート付きの PCRE ライブラリをビルドします (pcre_jit ディレクティブ)
--with-zlib=<パス> Gzip モジュールに必要な zlib ライブラリのソースコード パス
--http_ssl_module を使うHTTPSサポートを有効にする
--http_v2_モジュールHTTP/2リクエストのサポートを有効にする

コンパイルパラメータが多すぎるので、一つ一つ挙げることはできません。興味のある学生は

nginxの公式サイトを見る

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

./configure \
  --with-openssl=../openssl-1.0.2s \
  --with-pcre=../pcre-8.43 \
  --with-zlib=../zlib-1.2.11 \
  --with-pcre-jit --user=admin \
  --prefix=/home/admin/nginx \
  --http_ssl_module \ で始まる
  --http_v2_module を使用する

依存関係が正常であることを示す次の情報を出力します。

構成の概要
 + PCRE ライブラリを使用: ../pcre-8.43
 + OpenSSL ライブラリを使用: ../openssl-1.0.2s
 + zlib ライブラリを使用: ../zlib-1.2.11
 
 nginx パスプレフィックス: "/home/admin/nginx"
 nginx バイナリ ファイル: "/home/admin/nginx/sbin/nginx"
 nginx モジュール パス: "/home/admin/nginx/modules"
 nginx 設定プレフィックス: "/home/admin/nginx/conf"
 nginx 設定ファイル: "/home/admin/nginx/conf/nginx.conf"
 nginx pid ファイル: "/home/admin/nginx/logs/nginx.pid"
 nginx エラー ログ ファイル: "/home/admin/nginx/logs/error.log"
 nginx http アクセス ログ ファイル: "/home/admin/nginx/logs/access.log"
 nginx http クライアント リクエスト ボディの一時ファイル: "client_body_temp"
 nginx http プロキシ一時ファイル: "proxy_temp"
 nginx http fastcgi 一時ファイル: "fastcgi_temp"
 nginx http uwsgi 一時ファイル: "uwsgi_temp"
 nginx http scgi 一時ファイル: "scgi_temp"

コンパイル

作る

インストール

インストールする

権限を設定する

Linux では一般ユーザーが設定されており、1024 未満のポートを占有できないため、nginx を直接起動すると権限不足エラーが発生します。 nginx を root ユーザーに割り当て、特別な権限を割り当てます。

sudo chown ルート nginx
sudo chmod u+s nginx

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • LinuxにNginxを素早くインストールする方法
  • LinuxにNginxをインストールする詳細な手順
  • Linux 環境に nginx をインストールするチュートリアル

<<:  MySQL 一時テーブルの簡単な使用法

>>:  アニメーション効果のようなVueトランジションの例

推薦する

IDEA の Docker プラグインを介して Springboot プロジェクトを公開する方法の詳細なチュートリアル

1. Dockerfileを書く(1)プロジェクト名を右クリックして新しいテキストファイルを作成し、...

非常に詳細な MySQL8.0.22 のインストールと設定のチュートリアル

みなさんこんにちは。今日は、MySQL 8.0.22 のインストールと構成について学習します。注意深...

MySQL の悲観的ロックと楽観的ロックの理解と応用分析

この記事では、例を使用して MySQL の悲観的ロックと楽観的ロックについて説明します。ご参考までに...

スローモーションアニメーション効果を実現するJavaScript

この記事では、スローモーションアニメーション効果を実現するためのJavaScriptの具体的なコード...

Nexusプライベートサーバー構築原理とチュートリアル分析

1つ。 Nexus プライベート サーバーを構築する理由は何ですか?社内の開発メンバーは全員外部ネッ...

MySQLの指定順序ソートクエリについての簡単な説明

最近、空港や駅でフライト情報を表示するものと似た大型スクリーンディスプレイのプロジェクトに取り組んで...

フロントエンドページのスライド検証を実装するための JavaScript + HTML (2)

この記事の例では、クールなフロントエンドページのスライド検証の具体的なコードを参考までに共有していま...

DockerにJava環境をインストールするための実装手順

この記事は Linux centos8 をベースにして、docker をインストールし、イメージをプ...

MycliはMySQLコマンドライン愛好家にとって必須のツールです

マイクリMyCLI は、自動補完と構文の強調表示を備えた MySQL、MariaDB、および Per...

Vue でログインと登録テンプレートを実装するためのサンプルコード

テンプレート 1: ログイン.vue <テンプレート> <p class=&quo...

HTML で水平ナビゲーション構造を設定する方法

この記事では、主にリスト構造を使用して水平ナビゲーション構造を設定する 2 つの方法を紹介します。こ...

JavaScript の async と await のシンプルで詳細な学習

目次1. はじめに2. 詳しい説明2.1、非同期2.1.1. 関数はPromise以外のオブジェクト...

MySQLに絵文字表現を挿入する方法

序文今日、オープンソース プロジェクトのフィードバック フォームを設計していたところ、絵文字表現を挿...

Nodeはバックエンドの実装手順を素早く構築します

1. まず、node、express、express-generator をインストールします (4...

入力タイプ=ファイルスタイルを定義する方法

ファイルコントロールを美しくする理由は何ですか?他の子供たちはみんなきちんとしたきれいな服を着ている...