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トランジションの例

推薦する

HTML テーブル タグ チュートリアル (36): テーブル ヘッダーの背景色属性 BGCOLOR

<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...

Vueのドラッグスクリーンショット機能を実装する簡単な方法

マウスをドラッグしてページのスクリーンショットを撮ります(指定した領域にスクリーンショットをドラッグ...

レスポンシブ Web デザイン手法を実装し、ウォーターフォール モデルに別れを告げる 5 つのステップ (グラフィック チュートリアル)

次の Web デザイン プロジェクトはレスポンシブにする必要があると上司をようやく納得させることがで...

Reactスロットの使い方

目次必要コアアイデアReactでスロットを実装する2つの方法必要コンポーネントを自分で書きました。コ...

静的ウェブサイトをRSSに変換するツール

<br /> この記事は allwebdesignresources.com から Ra...

Win7 で IIS7 Web および FTP サービスを完全にアンインストールする方法

昨日、パソコンにPHP開発環境をセットアップした後、Apacheサーバーを再起動するとエラーが続きま...

Vue の下部ナビゲーション バー TabBar を実装するための非常に詳細なチュートリアル

目次プロジェクト紹介:プロジェクトディレクトリ: TabBar 効果のプレビュー: TabBar 実...

Vue は div の高さをドラッグ可能にします

この記事では、divのドラッグ可能な高さを実現するためのVueの具体的なコードを参考までに共有します...

ウェブサイトにファビコンを追加するためのヒント: URLの前の小さなアイコン

いわゆるファビコンは、Favorites Icon の略で、中国語ではウェブサイトアバターと呼ばれて...

dockerfile における ENTRYPOINT と CMD の組み合わせと違い

前回の記事【dockerコンテナのためのdockerfileを詳しく解説】では、dockerfile...

MySQL で左結合を使用して where 条件を追加する問題の詳細な分析

現在の需要:グループとファクターの 2 つのテーブルがあります。1 つのグループは複数のファクターに...

MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明

MySQLではisnull()関数をnull値の代わりとして使用することはできません。次のように:ま...

Windows 8 での MySQL 5.6.15 のインストールと設定方法のグラフィック チュートリアル

MySQLは私がとても気に入っているデータベースです。今日はWindows 8システムでインストール...

CSS3 列を使用したカード ウォーターフォール レイアウトを実装するためのサンプル コード

この記事では、カード ウォーターフォール レイアウトを実現するための CSS3 列のサンプル コード...

vue-router を遅延ロードする 3 つの方法のまとめ

遅延読み込みを使用しない 'vue' から Vue をインポートします。 '...