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カスタム関数の原理と使用法の分析

推薦する

Nginx と GeoIP モジュールを使用して IP の地域情報を読み取る方法

LinuxにGeoIPをインストールする yum で nginx-module-geoip をインス...

docker デプロイメントの実装手順 lnmp-wordpress

目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....

ソフトウェア 404 と 404 エラーとは何か、またそれらの違いは何ですか

まず、404 とソフト 404 とは何でしょうか? 404: 簡単に言えば、ユーザーが存在しないペー...

MySQL インデックスの一般的な問題の概要

Q1: データベースにはどのようなインデックスがありますか?メリットとデメリットは何ですか? 1. ...

Linux がますます人気になっている 10 の理由

Linux はますます多くのユーザーに愛されてきました。なぜ Linux はこれほど急速に発展し、い...

初心者向け入門チュートリアル⑨:ポータルサイトの構築方法

さらに、ブログ プログラムで構築された記事 Web サイトは常にブログのように見え、カスタマイズでき...

iframeを透明にするパラメータ

<iframe src="./ads_top_tian.html" all...

CSS 3.0とビデオを組み合わせることでクリエイティブなオープニング効果を実現

CSS 3.0 とビデオを組み合わせて実現したクリエイティブなオープニングをご紹介します。効果は次の...

ウェブサイトのユーザビリティを向上させる10のヒント

企業の Web サイト、個人のブログ、ショッピング Web サイト、ゲーム Web サイトなど、どの...

MLSQLコンパイル時権限制御例の詳細な説明

序文MySQL の権限を簡単に理解すると、MySQL では自分の能力の範囲内で操作が許可され、その限...

CSS3 の新しいレイアウト: flex の詳細な説明

Flexの基本概念フレックス レイアウト (フレックスはフレキシブル ボックスの略)、エラスティック...

GZIP 圧縮 Tomcat と Web パフォーマンスの改善プロセス図

1. はじめに最近、あるプロジェクトに取り組んでいたのですが、サーバーからクライアントに返される J...

Webstorm と Chrome を使用して Vue プロジェクトをデバッグする方法

目次序文1. 新しいVueプロジェクトを作成する2. WebStormの設定1. デバッガポートを設...

JavaScript PromiseとAsync/Awaitの詳細な説明

目次概要4つの例例1: 誕生日で説明する約束の基本例2: 数字当てゲーム例3: Web APIから国...

js キャンバスはランダムなパーティクル効果を実現します

この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...