どのようにUbuntu 20.04のソースコードからNGinxを構築する
そばArman Ali
NGANXは2004年にロシアの開発者Ior Sysoevによって作成されました.彼はApacheとイライラさせられて、パフォーマンス、高い同時性と低いメモリ使用に焦点を合わせて10000の同時接続を扱うことができる交換を構築したかったです.
今日NGNXは世界のトップ1000のウェブサイトの大半をサーバーしています、そして、この成長が主に原因になっている間、NGinxが比較的始めるのも簡単です.
nbuntu 20.04にnginxをインストールする方法は2つあります. オペレーティングシステムのビルドインパッケージマネージャーを介して. ソースからnginxを構築することによって. このガイドでは、Nbuntu 20.04のソースからnginxをビルドします.
必要条件
このチュートリアルを完了するには、Ubuntu 20.04サーバーが必要です.シンプルさのために、このガイドの間、ルートとして働きます.
ステップ1 - nginxの依存性を更新してインストールする
NGINXを最初のソースからビルドするには、NGinxに依存関係をインストールする必要があります.
SSH端末経由でサーバーにログインします.
ステップ2 -ダウンロードnginxソースコードと設定
NGNXをコンパイルするのに必要なすべてのツールがあります.
現在、我々は彼らの公式ウェブサイトからNGinX源をダウンロードする必要があります.
ソースコードをダウンロードするには、次のコマンドを実行します.
ステップ3 -ビルドnginx&モジュールを追加する
nginxで利用できる設定オプションがたくさんあります.あなたが必要に応じてそれを使用することができます.NGinXで利用可能な設定オプションを見つけるには
訪問できますnginx.org .
nginxにあらかじめインストールされているモジュールがいくつかあります.
デフォルトでビルドされたモジュール
デフォルトでビルドされたモジュールを必要としない場合、
静的リンクモジュール
動的リンクモジュール
1 -スタティックリンクモジュール
これらのモジュールはデフォルトでロードされる
nginxに組み込まれたほとんどのモジュールは静的にリンクされています.コンパイル時にnginxに組み込まれ、静的にnginxバイナリにリンクされます.これらのモジュールはnginxを再コンパイルするだけで無効にすることができます.
静的にリンクされたサードパーティ製のモジュールでnginxをコンパイルするには
これらのモジュールはデフォルトでロードされません.
例えば-
動的にロードされたサードパーティ製のモジュールでnginxオープンソースをコンパイルするには
カスタム設定完了後、このコマンドを使用してnginxのソースコードをコンパイルすることができます.
ステップ4 - nginxサービスを追加する
NGANXのカスタマイズとHTTPポート80のリスニングで構築された、次のステップはNGinxのシステムサービスを構成しています.
より具体的には、サービスのための新しい、より人気のある標準システムサービスとしてnginxを追加されます.
今、私たちは、システムがUbuntu 15.04以来利用可能であることに注意し続ける前に.
NGinXサービスを作成するのは、私たちが起動して、NGINXをより標準化された方法で再装填するのを管理するのを許すだけではなく、また、非常により簡単にブートの上でnginxを始めることを許します.
標準NGINXコマンドラインツール
始める前に、標準的なNGNXコマンドラインツールを使用してサービス信号を実行する方法をすぐに見ましょう.
nginxがそのプロセスをチェックして実行していることを確認できます.
それで、Nginxがバックグラウンドで走っているので、停止信号を送る方法を見ましょう.標準のコマンドラインツールを使用します.
たとえば、nginxが走っているので、このコマンドを使用してNGINXでストップシグナルを送ることができます.
あなたは再び使用してnginxを起動することができます
サービスを有効にするには、オペレーティングシステム全体で同じ小さなスクリプトを追加する必要があります.
ナノエディタを使用してnginx systemdユニットファイルを作成します
さて、キーを押してファイルを保存します
今すぐあなたのnginxを管理することができます
ステップ5 -ブート時にnginxを有効にする
今、私たちが言及したように、システムサービスの他の非常に有用な機能は、NGINXが自動的に起動するときに、システムを起動するときに、このマシンがシャットダウンまたは再起動NGinxはもはや実行されません起動することです.
特にWebサーバにとっては特に良いことではありません.
起動時にこのコマンドを実行できるようにします.
マシンの再起動を再起動することでテストできます.
結論
このガイドでは、我々はNbuntu 20.04のソースからNGinxを構築している.何か質問があればコメント欄でお知らせください.
NGANXは2004年にロシアの開発者Ior Sysoevによって作成されました.彼はApacheとイライラさせられて、パフォーマンス、高い同時性と低いメモリ使用に焦点を合わせて10000の同時接続を扱うことができる交換を構築したかったです.
今日NGNXは世界のトップ1000のウェブサイトの大半をサーバーしています、そして、この成長が主に原因になっている間、NGinxが比較的始めるのも簡単です.
nbuntu 20.04にnginxをインストールする方法は2つあります.
必要条件
このチュートリアルを完了するには、Ubuntu 20.04サーバーが必要です.シンプルさのために、このガイドの間、ルートとして働きます.
ステップ1 - nginxの依存性を更新してインストールする
NGINXを最初のソースからビルドするには、NGinxに依存関係をインストールする必要があります.
SSH端末経由でサーバーにログインします.
ssh username@you-IP-address
Ubuntuのパッケージマネージャを更新sudo apt-get update
さて、ソースコードコンパイラと共に開発ライブラリをインストールします.sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2 libxml2-dev uuid-dev
プレスY
はいステップ2 -ダウンロードnginxソースコードと設定
NGNXをコンパイルするのに必要なすべてのツールがあります.
現在、我々は彼らの公式ウェブサイトからNGinX源をダウンロードする必要があります.
ソースコードをダウンロードするには、次のコマンドを実行します.
wget http://nginx.org/download/nginx-1.20.0.tar.gz
我々は今、このコマンドを使用してtarballフォーマットでnginxソースコードを抽出しているtar -zxvf nginx-1.20.0.tar.gz
このコマンドを使用して抽出ディレクトリに移動しますcd nginx-1.20.0
さて、このコマンドを使用してnginxを設定するためのconfigureフラグを使用する必要があります../configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module
上記のコマンドでは、NGinxの設定ファイル、アクセス、およびエラーログをいくつかのNGinxのモジュールでカスタムパスを設定します.ステップ3 -ビルドnginx&モジュールを追加する
nginxで利用できる設定オプションがたくさんあります.あなたが必要に応じてそれを使用することができます.NGinXで利用可能な設定オプションを見つけるには
訪問できますnginx.org .
nginxにあらかじめインストールされているモジュールがいくつかあります.
デフォルトでビルドされたモジュール
デフォルトでビルドされたモジュールを必要としない場合、
--without-<MODULE-NAME>
configureスクリプトのオプション.この例では、空のGIFモジュールを無効にします(単一の行としてタイプされる)../configure --without-http_empty_gif_module
nginxには2種類のモジュールがあります.静的リンクモジュール
動的リンクモジュール
1 -スタティックリンクモジュール
これらのモジュールはデフォルトでロードされる
nginxに組み込まれたほとんどのモジュールは静的にリンクされています.コンパイル時にnginxに組み込まれ、静的にnginxバイナリにリンクされます.これらのモジュールはnginxを再コンパイルするだけで無効にすることができます.
静的にリンクされたサードパーティ製のモジュールでnginxをコンパイルするには
--add-module=<PATH>
configureコマンドのオプション<PATH>
ソースコードへのパスです(この例はrtmpモジュールです)../configure ... --add-module=/usr/build/nginx-rtmp-module
2 -動的にリンクされたモジュールこれらのモジュールはデフォルトでロードされません.
例えば-
load_module modules/ngx_mail_module.so;
nginxモジュールを共有オブジェクト(*. soファイル)としてコンパイルすることもできます.これは、モジュールがnginx設定ファイルの関連loadHumモジュールディレクティブを追加または削除することによって、いつでもロードされたりアンロードされたりすることができます.モジュール自体が動的リンクをサポートしなければならないことに注意してください.動的にロードされたサードパーティ製のモジュールでnginxオープンソースをコンパイルするには
--add-dynamic-module=<PATH>
configureコマンドのオプション<PATH>
ソースコードへのパスです../configure ... --add-dynamic-module=<PATH>
NginXソースのコンパイルカスタム設定完了後、このコマンドを使用してnginxのソースコードをコンパイルすることができます.
make
これはかなりの時間を要します、そして、一旦、このコマンドを使用することによって従順ソースコードをインストールしてください.make install
このコマンドを使用してnginxを起動しますnginx
これでnginxをインストールしました.確認するには、このコマンドを使用してnginxバージョンを確認します.nginx -V
または保持ページnginxを参照してくださいにあなたのIPを訪問することができます.http://your-IP-address
ステップ4 - nginxサービスを追加する
NGANXのカスタマイズとHTTPポート80のリスニングで構築された、次のステップはNGinxのシステムサービスを構成しています.
より具体的には、サービスのための新しい、より人気のある標準システムサービスとしてnginxを追加されます.
今、私たちは、システムがUbuntu 15.04以来利用可能であることに注意し続ける前に.
NGinXサービスを作成するのは、私たちが起動して、NGINXをより標準化された方法で再装填するのを管理するのを許すだけではなく、また、非常により簡単にブートの上でnginxを始めることを許します.
標準NGINXコマンドラインツール
始める前に、標準的なNGNXコマンドラインツールを使用してサービス信号を実行する方法をすぐに見ましょう.
nginxがそのプロセスをチェックして実行していることを確認できます.
ps aux | grep nginx
ここでは、マスターとワーカーのプロセスを見ることができます.それで、Nginxがバックグラウンドで走っているので、停止信号を送る方法を見ましょう.標準のコマンドラインツールを使用します.
たとえば、nginxが走っているので、このコマンドを使用してNGINXでストップシグナルを送ることができます.
nginx -s stop
Nginxが停止したり、より正確に終了している場合は、任意の保持ページを参照してくださいされませんあなたのIPアドレスを訪問してNGinxステータスを確認することができます.あなたは再び使用してnginxを起動することができます
nginx -s start
次に、システム管理サービスを追加しましょう.サービスを有効にするには、オペレーティングシステム全体で同じ小さなスクリプトを追加する必要があります.
ナノエディタを使用してnginx systemdユニットファイルを作成します
nano /lib/systemd/system/nginx.service
ペーストし、このスクリプトをペーストする[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
カスタム設定パスに従ってpidfileの場所を変更できます.さて、キーを押してファイルを保存します
CLR+X, Y,
そして、このファイルを保存するために入力します.今すぐあなたのnginxを管理することができます
systemctl restart nginx
また、NGinxの状態をチェックすることもできます.systemctl status nginx
これは私たちにNGINXサーバのステータスの本当に有益なプリントアウトを与えます.ステップ5 -ブート時にnginxを有効にする
今、私たちが言及したように、システムサービスの他の非常に有用な機能は、NGINXが自動的に起動するときに、システムを起動するときに、このマシンがシャットダウンまたは再起動NGinxはもはや実行されません起動することです.
特にWebサーバにとっては特に良いことではありません.
起動時にこのコマンドを実行できるようにします.
systemctl enable nginx
それで、私たちはスタートアップの確認を得ます.マシンの再起動を再起動することでテストできます.
結論
このガイドでは、我々はNbuntu 20.04のソースからNGinxを構築している.何か質問があればコメント欄でお知らせください.
Reference
この問題について(どのようにUbuntu 20.04のソースコードからNGinxを構築する), 我々は、より多くの情報をここで見つけました https://dev.to/armanism24/how-to-build-nginx-from-source-code-on-ubuntu-20-04-31e5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol