Centos7.3はnginxをインストールします

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

Centos7.3はnginxをインストールします
Centos7はNginxをインストールします
1.5Centos7をインストールする
CentOs7.3はNginx1.9.9をコンパイルしてインストールします
Tencent CloudCentosはnginxをインストールします
CentOS7にNginxサーバーをインストールします
Centos6はPython2.7.13をインストールします
CentOS7.2はMysql5.7.13をインストールします
CentOSはRedmineをインストールします
Centos7はPython3.6をインストールします。
CentOS7はMySQLをインストールします
Centos7インストールprotobuf
CentOS7はDockerをインストールします
CentOS 7はNginx、PHP、MySQLパッケージをインストールします
CentOS7はGlusterFSをインストールします
CentOS7.4はZabbix3.4をインストールします
CentOS7はDockerをインストールします
Centos6.5はTomcatをインストールします
CentOSはPython3.6をインストールします
VmwareはCentOS6をインストールします
centos7 install docker-ce 18.01.0
CentOS7.2はMariaDBをインストールします
CentOS7はHadoop3.0.0をインストールします
Centos7はPython2.7をインストールします
CentOS6.xはNginxをコンパイルしてインストールします
Centos7.6はseleniuをインストールします
CentOS8にNginxをインストールする方法
CentOS7.3はZabbix3をインストールします
Centos7はLAMP + PHPmyadminをインストールします
CentOSインストールmysql
CentOSはopenjdk1.8をインストールします
CENTOS6.5インストールCDH5.12.1(1)
CentOSはPHPをインストールします
CentOS6はmist.ioをインストールします
Centos7はDockerをインストールします
CentOS7インストールmysql
centOsはrabbitMQをインストールします
CentOS7はMySQL5.6をインストールします
CentOS6.5はCDH5.13をインストールします
Centos7インストールdocker18
CentosはPython3をインストールします
centos7インストールドッカー
CentOSインストールjdk
centos7インストールnginx-rtmp
CentOS8はMySQL8.0をインストールします
Centos6.3はKVMをインストールします
CentOSはPostgreSQL9.1をインストールします
CentOS7はmysql8をインストールします
CentOS7はJava1.8をインストールします
CentOS8はfastdfs6.06をインストールします
CentOS7はGitlabをインストールします
Centos7はPostgreSQLをインストールします
CentOS7はMySQL8をインストールします
CentOS7はJava1.8をインストールします
Centosはphp73fast cgi + nginxをインストールします
CentOS6はDockerをインストールします
centos6.5インストールzabbix4.4
Centos8はDockerをインストールします
CentOS6.8はpython2.7をインストールします
CentOSインストールnodejs8
CentOS6.5はGNS3をインストールします