CentOS 7 での Nginx のコンパイル: 高性能カスタム Web サーバーの構築

1. 引用

Nginx は、優れたパフォーマンス、信頼性、柔軟性で知られる高性能のオープンソース Web サーバーです。パッケージ管理ツールを使用して CentOS 7 に Nginx をインストールできますが、特定のニーズを満たすため、または高度な構成のために、Nginx をカスタム コンパイルする必要がある場合があります。

このチュートリアルでは、ニーズに合わせてカスタマイズできるように、CentOS 7 でソースから Nginx をビルドおよびコンパイルする方法を説明します。コンパイル プロセスを段階的にガイドし、高パフォーマンスのカスタム Web サーバーの構築に役立ついくつかの一般的な構成オプションと提案を提供します。

個人プロジェクト用の Web サーバーを構築している場合でも、エンタープライズ アプリケーション用の Web サーバーを構築している場合でも、このチュートリアルでは、Nginx のパワーを活用し、最高のパフォーマンスとセキュリティを得るために必要なガイダンスと知識を提供します。

はじめましょう!以下は、CentOS 7 で Nginx をコンパイルするための詳細な手順と考慮事項です。

2. インストール前の準備

1. ファイアウォールとSELinuxをオフにする

systemctl stop firewalld
setenforce 0

2. nginx インストール パッケージをダウンロードします。

公式 Web サイト (mysql.org) に移動して、コンパイルおよびインストール パッケージ (https://nginx.org/download/nginx-1.22.1.tar.gz) をダウンロードします。 

3. インストールパッケージをアップロードします

インストール パッケージが正常にダウンロードされるのを待った後、「rz」コマンドを使用してインストール パッケージを仮想マシンにアップロードします。準備した仮想マシン環境が CentOS 7 の最小化バージョンの場合、「rz」コマンドはありません。 「rz」コマンドをインストールする必要があります。

yum -y installl lrzsz

インストールが成功したら、アップロードできます。

4. インストールパッケージを解凍します。

コマンド「tar zxvf」を使用してインストール パッケージ (nginx-1.22.1.tar.gz) を解凍すると、フォルダー (nginx-1.22.1) が表示されます。

tar zvxf nginx-1.22.1.tar.gz

5. 依存関係をインストールする

このようにして、次の操作は nginx-1.22.1 ディレクトリに移動することで、実行可能プログラムのconfigure が表示されます。これはコンパイルしたいファイルですが、コンパイルする前に、nginx のコンパイルに必要な依存関係をいくつかインストールする必要があります。次のように:

nginx编译所需要的依赖有gcc(c语言编译器)

gcc-c++(c++的编译器)

pcre(使nginx支持http rewrite模块)

pcre-devel(PCRE库的开发包)

gd-devel(是与GD图形库相关的开发包)

openssl-devel(是与OpenSSL加密库相关的开发包)

 zlib(提供nginx对http包的内容进行gzip压缩)

zlib-devel(是与zlib压缩库相关的开发包)

yum ソースを使用してコンパイルの依存関係をインストールします。​ 

yum -y install gcc gcc-c++ pcre pcre-devel gd-devel openssl-devel  zlib zlib-devel        #安装依赖

インストールが完了するまで待ち、依存関係が正常にインストールされていないか確認してください。問題がなければ、依存関係はインストールされています。​ 

6. インストールパラメータの構成

依存関係のインストールが完了したら、インストール パラメーターを構成します。ただし、構成する前に、nginx アカウントを使用して nginx サービスを管理できるように、nginx のログイン ユーザーを作成することをお勧めします。これは、root アカウントにも同様の機能があるためです。ソフトウェアに脆弱性が発生した場合、root 権限が漏洩する可能性があります。

useradd nginx -s /sbin/nologin

アカウントが正常に作成されたら、インストール パラメーターの構成を開始します。以下に nginx の一般的なパラメーターをいくつか示します。必要に応じて選択できます。

--prefix=/usr/local/nginx                        //指向安装目录
--conf-path=/etc/nginx/nginx.conf                //指定配置文件
--http-log-path=/var/log/nginx/access.log        //指定访问日志
--error-log-path=/var/log/nginx/error.log        //指定错误日志
--lock-path=/var/lock/nginx.lock                 //指定lock文件
--pid-path=/run/nginx.pid                        //指定pid文件

--http-client-body-temp-path=/var/lib/nginx/body    //设定http客户端请求临时文件路径
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi     //设定http fastcgi临时文件路径
--http-proxy-temp-path=/var/lib/nginx/proxy         //设定http代理临时文件路径
--http-scgi-temp-path=/var/lib/nginx/scgi           //设定http scgi临时文件路径
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi         //设定http uwsgi临时文件路径

--with-debug                                        //启用debug日志
--with-ipv6                                         //启用ipv6支持
--with-http_ssl_module                              //启用ssl支持
--with-http_stub_status_module                      //获取nginx自上次启动以来的状态
--with-http_realip_module                 //允许从请求标头更改客户端的IP地址值,默认为关
--with-http_auth_request_module           //实现基于一个子请求的结果的客户端授权。如果该子请求返回的2xx响应代码,所述接入是允许的。如果它返回401或403中,访问被拒绝与相应的错误代码。由子请求返回的任何其他响应代码被认为是一个错误。
--with-http_addition_module               //作为一个输出过滤器,支持不完全缓冲,分部分响应请求
--with-http_dav_module                    //增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法 默认关闭,需编译开启
--with-http_geoip_module                  //使用预编译的MaxMind数据库解析客户端IP地址,得到变量值
--with-http_gunzip_module                 //它为不支持“gzip”编码方法的客户端解压具有“Content-Encoding: gzip”头的响应。
--with-http_gzip_static_module            //在线实时压缩输出数据流
--with-http_spdy_module                   //SPDY可以缩短网页的加载时间
--with-http_sub_module                    //允许用一些其他文本替换nginx响应中的一些文本
--with-http_xslt_module                   //过滤转换XML请求
--with-mail                               //启用POP3/IMAP4/SMTP代理模块支持
--with-mail_ssl_module                    //启用ngx_mail_ssl_module支持启用外部模块支持

以下に設定したパラメータは、必要に応じて設定されていますので、参照してください。

./configure --prefix=/usr/local/nginx \
		--group=nginx \
		--user=nginx \
		--sbin-path=/usr/local/nginx/sbin/nginx \
		--conf-path=/etc/nginx/nginx.conf

 構成プロセス中にエラーが発生した場合は、Makefile を削除して再構成するだけで済みます。

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

コンパイルには「make」コマンドを使用し、コンパイルとインストールには「make install」コマンドを使用します。

make && make install  #编译和编译安装

 このコンパイルとインストールのプロセスには長い時間がかかる場合があります。辛抱強く待つ必要があります。コンパイルとインストールが完了したら、/usr/local/ ディレクトリに cd して、nginx ディレクトリがあるかどうかを確認する必要があります。 nginx ディレクトリ、これはコンパイルが成功したことを意味します。次に、nginx サービスを開始できます。

8. nginxサービスを開始する

チェックと確認が完了したら、nginx サービスを開始します。まず、/usr/local/nginx/sbin ディレクトリに移動し、「./nginx」コマンドを使用して nginx サービスを開始します。次に、「ps -ef |grep nginx」コマンドを使用して nginx プロセスをチェックし、インストールが成功したかどうかを確認します。nginx の実行プロセスがある場合、おめでとうございます。nginx サービスは正常に確立されています。

3. 結論 

このチュートリアルでは、CentOS 7 でソースから Nginx をコンパイルする方法を詳しく説明し、高パフォーマンスのカスタム Web サーバーの構築に役立ついくつかの一般的な構成オプションと推奨事項を提供します。

Nginx をカスタム コンパイルすることで、特定のニーズに応じて Nginx を柔軟に構成および最適化し、最高のパフォーマンスとセキュリティを得ることができます。 Nginx をコンパイルする前に、関連するコンパイルの依存関係とシステム要件を必ず理解し、このチュートリアルの手順に従ってください。

CentOS 7 は多くのサーバー環境に適した広く使用されている Linux ディストリビューションであるため、CentOS 7 でコンパイルすることを選択しました。別のオペレーティング システムまたはバージョンを使用している場合は、適切なドキュメントとリソースを参照して、適用性と正確性を確認してください。

このチュートリアルをお読みいただきありがとうございます。 Nginx をコンパイルすることで期待どおりの結果が得られ、プロジェクトでそれを最大限に活用できることを願っています。

ご質問やフィードバックがございましたら、お気軽にコメント欄にメッセージを残してください。高性能のカスタム Web サーバーの構築を頑張ってください。

おすすめ

転載: blog.csdn.net/XX_HK/article/details/134023659