Nginx Linux のインストールと展開の詳細なチュートリアル

Nginx Linux のインストールと展開の詳細なチュートリアル

1. Nginx の紹介

Nginxは負荷分散やリバースプロキシにも使えるWebサーバーです。現在最もよく使われているのは負荷分散です。具体的な紹介はしません。Baiduのものがたくさんあります。インストール手順に直接進みましょう

2. Nginxのインストール

1. Nginxと関連コンポーネントをダウンロードする

LinuxシステムはCentos 6.5 64ビットです。インストールするために直接ルートユーザーに切り替えました。

プログラムをダウンロードするにはユーザーディレクトリにアクセスしてください

関連コンポーネントをダウンロード

[root@localhost src]# wget http://nginx.org/download/nginx-1.10.2.tar.gz
インストール内容を省略...
[root@localhost src]# wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz
インストール内容を省略...
[root@localhost src]# wget http://zlib.net/zlib-1.2.11.tar.gz
インストール内容を省略...
[root@localhost src]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
インストール内容を省略...

C++ コンパイラ環境をインストールします。すでにインストールされている場合は、この手順をスキップできます。

[root@localhost src]# yum install gcc-c++
インストール内容を省略...
確認プロンプトが表示されます。y と入力して Enter キーを押します。よろしいですか [y/N]: y
インストール内容を省略...

2. Nginxと関連コンポーネントをインストールする

openssl のインストール

[root@localhost src]# tar zxvf openssl-fips-2.0.10.tar.gz
インストール内容を省略...
[root@localhost src]# cd openssl-fips-2.0.10
[root@localhost openssl-fips-2.0.10]# ./config && make && make install
インストール内容を省略...

pcre インストール

[root@localhost src]# tar zxvf pcre-8.40.tar.gz
インストール内容を省略...
[root@localhost src]# cd pcre-8.40
[root@localhost pcre-8.40]# ./configure && make && make install
インストール内容を省略...

zlib のインストール

[root@localhost src]# tar zxvf zlib-1.2.11.tar.gz
インストール内容を省略...
[root@localhost src]# cd zlib-1.2.11
[root@localhost zlib-1.2.11]# ./configure && make && make install
インストール内容を省略...

nginxのインストール

[root@localhost src]# tar zxvf nginx-1.10.2.tar.gz
インストール内容を省略...
[root@localhost src]# cd nginx-1.10.2
[root@localhost nginx-1.10.2]# ./configure && make && make install
インストール内容を省略...

3. Nginxを起動する

まずnginxがインストールされている場所を確認します

nginxディレクトリに入り、起動します

エラー メッセージが報告されます: 共有ライブラリのロード中にエラーが発生しました: libpcre.so.1: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません。次のように解決してください。

1. whereis libpcre.so.1 コマンドを使用して、libpcre.so.1 の場所を見つけます。2. ln -s /usr/local/lib/libpcre.so.1 /lib64 コマンドを使用してソフトリンクを作成します。3. sbin/nginx で Nginx を起動します。
4. ps -aux | grep nginx を使用してステータスを確認します [root@localhost nginx]# whereis libpcre.so.1 [root@localhost nginx]# ln -s /usr/local/lib/libpcre.so.1 /lib64 [root@localhost nginx]# sbin/nginx [root@localhost nginx]# ps -aux | grep nginx 

Linuxシステムのグラフィカルインターフェースに入り、ブラウザを開いてlocalhostと入力すると、nginxが正常に起動したことを示す次の画像が表示されます。

nginxの基本操作

[root@localhost ~]# /usr/local/nginx/sbin/nginx を起動します。
停止/再起動 [root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop (終了、リロード)
コマンドヘルプ [root@localhost ~]# /usr/local/nginx/sbin/nginx -h
設定ファイル [root@localhost ~] を確認します# /usr/local/nginx/sbin/nginx -t
設定ファイル[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

4. Nginxの簡単な設定

nginxディレクトリの下のconfフォルダにあるnginx設定ファイルを開きます。

vim構文の簡単な紹介

デフォルトでは、vim を開いた後は入力できず、次のようにキーを入力して操作する必要があります。
編集を開始します: 編集を終了するには「i」または「Insert」を押します: vim を終了するには「Esc」を押します: 「:q」
vim を保存: “:w”
保存してvimを終了します: “:wq”
保存せずにvimを終了します: “:q!”

「#」はコメントを表します。最も重要なことは、server{}ブロックが各Webサイトを表すことです。詳細な設定については、私の他の設定記事を参照してください。ここでは、3つのサイトを一時的に設定します。

nginxを保存、終了、再起動するには、それぞれ異なるポート80、81、82を使用します。

5. 外部ネットワークアクセスを有効にする

Linux システムには、デフォルトですべてのポートを管理するファイアウォール Iptables があります。デフォルトのリモート接続ポート 22 のみが有効になっており、他のポートはすべて閉じられています。上記で設定したポート 80 も閉じられているため、最初にアプリケーション ポートを開く必要があります。

方法 1: ファイアウォールを直接オフにします。パフォーマンスは向上しますが、セキュリティは低下します。この方法は、フロントエンド ファイアウォールがある場合に使用できます。

ファイアウォールを無効にする [root@localhost ~]# service iptables stop
自動起動ファイアウォールをオフにする [root@localhost ~]# chkconfig iptables off
[root@localhost ~]# chkconfig --list|grep ipt

以下はその他のファイアウォール操作コマンドです。

方法 2: 開いているポートをファイアウォールのホワイトリストに追加します。この方法はより安全ですが、パフォーマンスは比較的低くなります。

ファイアウォールのホワイトリストを編集します [root@localhost ~]# vim /etc/sysconfig/iptables
次のコード行を追加します -A INPUT -p tcp -m state -- state NEW -m tcp --dport 80 -j ACCEPT
保存して終了し、ファイアウォールを再起動します [root@localhost ~]# service iptables restart

Linux の設定が完了しました。nginx がインストールされているコンピューターではなく、別のコンピューターを使用します。私は Windows システムを使用します。ホストを設定し、「C:\Windows\System32\drivers\etc」の下のホストでドメイン名のリダイレクトを設定します。

10.11.13.22 nginx.test.com nginx.test1.com nginx.test2.com

次に、cmd ping を実行して、ドメイン名が IP を正しく指しているかどうかを確認します。

正しくポイントした後、telnet を使用してポート 80 をチェックし、ポートと通信できるかどうかを確認します (telnet でそのようなコマンドがないと表示される場合は、クライアントがインストールされていません。Windows の有効化または無効化機能でインストールしてから操作してください)

次のインターフェースが得られ、通信が成功したことを示します。

この Windows システムでブラウザを開き、nginx.test.com と入力すると、次の結果が得られます。これは、外部ネットワーク アクセスが成功したことを意味します。

ファイアウォールを有効にしたまま、有効なポートだけを設定すると、ポート 81 はホワイトリストに追加されていないためアクセスできないことがわかります。

この時点で、Nginx サーバーのプロトタイプの展開は完了です。

6. Nginx 負荷分散構成

Nginxはリバースプロキシと負荷分散を1つに組み合わせており、設定ファイルを変更することで実現できます。

まず、設定ファイルを開きます

[root@localhost nginx]# vim conf/nginx.conf

各サーバーは仮想ホストであり、そのうちの1つはWebサーバーとして使用されています。

listen 80; ポート80でリッスンすることを表します server_name xxx.com; 外部ネットワークの場所からアクセスされるドメイン名を表します / {}; フィルターを表します。/ はすべてのリクエストに一致します。静的ファイル js、css、およびイメージ専用のフィルターを作成するなど、独自の状況に応じてさまざまなフィルターを定義することもできます root html; サイトのルートディレクトリを表します index index.html; デフォルトのホームページを表します

設定が完了したら、ドメイン名を入力してサイトにアクセスできるようになります。

負荷分散機能はリクエストを受け取った後に複数のバックエンドサーバーに分散することが多いので、これを一緒に使用するにはupstream{}ブロックが必要です。

アップストリーム xxx{}; アップストリーム モジュールは、バックエンド サーバー グループに名前を付けます。グループ名は、バックエンド サーバー サイトのドメイン名である必要があります。複数のサーバー IP とポートを内部に記述できます。ジャンプ ルールと重みも設定できます。ip_hash; は、ジャンプ バックエンド サーバーを割り当てるための IP アドレスの使用を表します。同じ IP 要求は、毎回同じバックエンド サーバーにアクセスします。server; バックエンド サーバーのアドレスを表します server{}; サーバー モジュールは、依然として外部要求を受信する部分です。server_name; は、外部ネットワーク アクセスの場所のドメイン名を表します / {}; また、異なる要求に対して異なる操作を定式化するために使用されるフィルターを表します。proxy_pass; は、バックエンド サーバー グループ名を表します。このグループ名は、バックエンド サーバー サイトのドメイン名である必要があります。server_name とアップストリーム{} のグループ名は矛盾している可能性があります。server_name は、要求を受信するための外部ネットワーク アクセスのドメイン名です。upstream{} のグループ名は、バックエンド サーバーにジャンプするときにサイトがアクセスするドメイン名です。

Windowsホストを設定して、アクセスしたいドメイン名aaa.test.comをLinuxに向けます。

ハードウェアの制限のため、WindowsのIISをNginxのバックエンドサーバーとして使用しているため、IISのサイトドメイン名を構成します。

cmd を開いて、aaa.test.com に再度 ping します。確かに Linux システムを指しています。ブラウザを開いて aaa.test.com と入力します。bbb サイトが表示され、読み込みが成功したことを意味します。

Nginxのロード機能の設定は完了しました。これは簡単な設定です。本番環境ではまだ細かい調整が多く、後から徐々に追加していきます。私のレベルには限界があります。何かおかしな点がありましたら、ご指導いただければ幸いです。よろしくお願いします。

Nginx Linux のインストールと展開に関する詳細なチュートリアルに関するこの記事はこれで終わりです。Nginx Linux のインストールと展開に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux での nginx のインストール、展開、使用方法の詳細な説明
  • Linux に nginx をインストールして起動する方法
  • Centos7 (linux+nginx+php7.1+mysql5.7) で yum を使用して lnmp をインストールするチュートリアル
  • Linux に Nginx をインストールする方法 (pcre と openssl)
  • Linux サーバーに Tomcat と Nginx を導入するチュートリアル

<<:  Node.js のモジュール性、npm パッケージ マネージャーの説明

>>:  MySQLカスタム関数の原理と使用法の分析

推薦する

Linuxカーネルとデバイスツリーのコンパイルと書き込みを分析する

目次1. 材料を準備する2. Linuxカーネルファイルをダウンロードする3. コンパイル4. TF...

JavaScript 変数の昇格についての簡単な説明

目次序文1. どのような変数が促進されますか? 2. 可変プロモーションがあるのはなぜですか? (1...

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...

MySQL の最適化: 高品質の SQL 文を書く方法

序文インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質にば...

Linux md5sumコマンドの使い方

01. コマンドの概要md5sum - MD5検証コードを計算して検証するmd5sum コマンドは、...

JavaScript の手ぶれ補正とスロットリングの説明

目次安定スロットリング要約する安定自動ドアは人を感知してドアを開け、5 秒間のカウントダウンを開始し...

ネガティブマージン関数の紹介と使用方法の概要

1998 年の CSS2 勧告の時点で、テーブルは徐々に舞台から消え、歴史の中に記録されるようになり...

ブリージングカルーセルを実装するネイティブJS

今日は、ネイティブ JS で実装されたブリージング カルーセルを紹介します。効果は次のとおりです。 ...

Vue で Baidu Map を呼び出して経度と緯度を取得する

プロジェクトでは、現在地の緯度経度を取得したり、場所を検索して緯度経度情報を取得したりする必要があり...

Springboot プロジェクトの Docker-compose イメージリリースプロセス分析

導入Docker-Compose プロジェクトは、Docker コンテナ クラスターの迅速なオーケス...

MySQL での order by の使用に関する詳細

目次1. はじめに2. 本文2.1 単一列のソート2.2 複数の列を並べ替える2.3 ソート方法2....

Ubuntu 18.04 で apt ソースを Alibaba Cloud ソースに変更する詳細なプロセス

目次序文: Ubuntu 18.04 は apt ソースを Alibaba Cloud ソースに変更...

Word のコンテンツを Web サイトのエディターに直接コピーすることはお勧めしません。

<br />質問: Word のコンテンツを Web サイトのエディターに直接コピーする...

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...

HTML におけるブロックコメントの使用に関する詳細な紹介

HTML の一般的なコメント: <!--XXXXXXXX--> (XXXXXXXX はコ...