1. Nginxの紹介
Nginx(エンジンxと発音)は、パフォーマンスの最適化のために特別に開発されています。その最もよく知られている利点は、安定性、システムリソースの消費量が少ないこと、および同時接続の処理能力が高いことです(単一の物理サーバーで30,000〜50,000の同時接続をサポートできます) Connection)は、高性能HTTPおよびリバースプロキシサーバーであり、IMAP / POP3 / SMTPプロキシサーバーでもあります。
2. インストールの準備
2.1 gccのインストール
nginxをインストールするには、公式Webサイトからダウンロードしたソースコードをコンパイルする必要があります。コンパイルはgcc環境によって異なります。gcc環境がない場合は、以下をインストールする必要があります。
[ root@nginx ~]# yum -y install gcc-c++
2.2 pcreのインストール
PCRE(Perl互換の正規式)は、Perl互換の正規式ライブラリを含むPerlライブラリです。 nginxのhttpモジュールはpcreを使用して正規式を解析するため、pcreライブラリをlinuxにインストールする必要があります。pcre-develは、pcreを使用して開発されたセカンダリ開発ライブラリです。 Nginxにもこのライブラリが必要です。
[ root@nginx ~]# yum -y install pcre pcre-devel
2.3 zlibのインストール
zlibライブラリは、圧縮および解凍する多くの方法を提供します。nginxはzlibを使用してhttpパッケージのコンテンツをgzipするため、Centosにzlibライブラリをインストールする必要があります。
[ root@nginx ~]# yum -y install zlib zlib-devel
2.4 OpenSSLのインストール
OpenSSLは、主要な暗号化アルゴリズム、一般的に使用されるキーと証明書のパッケージ管理機能、SSLプロトコルを含む、強力なセキュアソケットレイヤー暗号化ライブラリであり、テストやその他の目的で豊富なアプリケーションを提供します。
Nginxはhttpプロトコルをサポートするだけでなく、https(つまり、sslプロトコルを介したHTTP送信)もサポートするため、CentosにOpenSSLライブラリをインストールする必要があります。
[ root@nginx ~]# yum -y install openssl openssl-devel
3. Nginxのインストール
3.1 Nginxバージョン
ダウンロードURL:[https://nginx.org/en/download.html](https://nginx.org/en/download.html)
最新の安定バージョンを選択[nginx-1.12.2](http://nginx.org/download/nginx-1.12.2.tar.gz)
バージョンの説明:
メインラインバージョン:メインラインは現在、Nginxのメインバージョンであり、開発バージョンと言えます。
安定版:最新の安定版、実稼働環境で推奨されるバージョン
レガシーバージョン:レガシー旧バージョンの安定バージョン
3.2 Nginxダウンロード
wgetコマンドを使用してダウンロード
[ root@nginx ~]# wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
wgetコマンドがない場合はインストールします。
[ root@nginx ~]# yum -y install wget
3.3 解凍
[ root@nginx ~]# tar -zxvf nginx-1.12.2.tar.gz
3.4 インストール構成
3.4.1 nginxユーザーとグループを作成する
[ root@nginx include]# groupadd nginx
[ root@nginx include]# useradd -g nginx -d /home/nginx nginx
[ root@nginx include]# passwd nginx
3.4.2 サードパーティモジュールのインストール
この記事では、サードパーティモジュールのスティッキーのインストールを例として取り上げます。バージョンは1.、2.5、ダウンロードリンク:[https://pan.baidu.com/s/1Zpv6axGNUJkkGcam7EoLaQ](https://pan.baidu.com/s/1Zpv6axGNUJkkGcam7EoLaQ)パスワード:6jaq
アップロードと解凍:
[ root@nginx ~]# tar -zxvf nginx-goodies-nginx-sticky-module-ng-08a395c66e42..gz
[ root@nginx ~]# mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-1.2.5
3.4.3 インストール
[ root@nginx ~]# cd nginx-1.12.2[root@nginx nginx-1.12.2]# ./configure --add-module=/root/nginx-sticky-1.2.5
ユーザー、パス、およびモジュール構成の指定(オプション):
. /configure \
- - user=nginx --group=nginx \ #インストールされているユーザーグループ
- - prefix=/usr/local/nginx \ #インストールパスを指定します
- - with-http_stub_status_module \ #nginxのステータスを監視するには、次のことを行う必要があります。.conf構成
- - with-http_ssl_module \ #HTTPSをサポート
- - with-http_sub_module \ #URLリダイレクトをサポート
- - with-http_gzip_static_module #静的圧縮
- - add-module=/root/nginx-sticky-1.2.5 #スティッキーモジュールをインストールします
3.5 コンパイル
[ root@nginx nginx-1.12.2]# make && make install
エラー:
/root/nginx-sticky-1.2.5//ngx_http_sticky_misc.c:関数 'ngxで_http_sticky_misc_sha1 ':/root/nginx-sticky-1.2.5//ngx_http_sticky_misc.c:176:15:エラー: 'SHA_DIGEST_LENGTH 'は宣言されていません(この機能での最初の使用)
u_char hash[SHA_DIGEST_LENGTH];^/root/nginx-sticky-1.2.5//ngx_http_sticky_misc.c:176:15:注:宣言されていない各識別子は、それが表示される関数で1回だけ報告されます/root/nginx-sticky-1.2.5//ngx_http_sticky_misc.c:176:10:エラー:未使用の変数「ハッシュ」[-Werror=unused-variable]
u_char hash[SHA_DIGEST_LENGTH];^/root/nginx-sticky-1.2.5//ngx_http_sticky_misc.c:関数 'ngxで_http_sticky_misc_hmac_sha1 ':/root/nginx-sticky-1.2.5//ngx_http_sticky_misc.c:242:15:エラー: 'SHA_DIGEST_LENGTH 'は宣言されていません(この機能での最初の使用)
u_char hash[SHA_DIGEST_LENGTH];
解決:
ngx_http_sticky_misc.cファイルを変更し、#includeを追加します<openssl/sha.h>そして#include<openssl/md5.h>モジュール
[ root@nginx nginx-1.12.2]# sed -i '12a #include <openssl/sha.h>'/root/nginx-sticky-1.2.5/ngx_http_sticky_misc.c
[ root@nginx nginx-1.12.2]# sed -i '12a #include <openssl/md5.h>'/root/nginx-sticky-1.2.5/ngx_http_sticky_misc.c
再コンパイル:
[ root@nginx nginx-1.12.2]# make && make install
3.6 Nginxコマンドのグローバル実行設定
[ root@nginx bin]# cd /usr/local/nginx/sbin/[root@nginx sbin]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
4. Nginx関連のコマンド
4.1 バージョンビュー
[ root@nginx ~]# nginx -v
nginx version: nginx/1.12.2
4.2 ロードされたモジュールを表示
[ root@nginx ~]# nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.520150623(Red Hat 4.8.5-28)(GCC)
configure arguments:--add-module=/root/nginx-sticky-1.2.5/
4.3 開始コマンドと停止コマンド
4.3.1 起動
[ root@nginx nginx-1.12.2]# nginx
4.3.2 やめる
[ root@nginx nginx-1.12.2]# nginx -s stop
[ root@nginx nginx-1.12.2]# nginx -s quit
4.3.3 動的読み込み
[ root@nginx nginx-1.12.2]# ngins -s reload
4.3.4 構成ファイルnginx.confの正確さをテストします
[ root@nginx ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
nginx -s quit:この方法での停止手順は、nginxプロセスがタスクの処理を終了したときに停止することです。
nginx -s stop:このメソッドは、最初にnginxプロセスIDを見つけてから、killコマンドを使用してプロセスを強制的に強制終了するのと同じです。
nginx -s reload:動的ロード。構成ファイルnginx.confが変更されたら、このコマンドを実行して動的にロードします。
4.4 起動後の自動起動
/etc/rc.d/rc.localファイルを編集し、新しい行/ usr / local / nginx / sbin / nginxを追加します
[ root@nginx rc.d]# cd /etc/rc.d
[ root@nginx rc.d]# sed -i '13a /usr/local/nginx/sbin/nginx'/etc/rc.d/rc.local
[ root@nginx rc.d]# chmod u+x rc.local
5. デフォルトのポートを変更します
構成ファイル/usr/local/nginx/conf/nginx.confを編集し、デフォルトのポート80を81に変更します。
[ root@nginx ~]# view /usr/local/nginx/conf/nginx.conf
構成のロード:
[ root@nginx ~]# nginx -s reload
6. Nginxにアクセス
6.1 ファイアウォールをオフにする
[ root@nginx ~]# firewall-cmd --state
running
[ root@nginx ~]# systemctl stop firewalld.service
[ root@nginx ~]# firewall-cmd --state
not running
6.2 Nginxにアクセス
http://172.27.9.9:81
Recommended Posts