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

推薦する

CSS 経由で JS にパラメータを渡す方法

1. CSSを通す必要がある背景CSS におけるメディアクエリの用途は、デバイスサイズの判別、マウス...

よく使うLinuxコマンドのまとめ

私は2年間運用保守に携わり、多くのコマンドを使用しました。特定のLinuxコマンドを習得すると、どれ...

Zabbix Agent2を使用してOracleデータベースを監視する方法

概要zabbix バージョン 5.0 以降では、zabbix-agent2 という新しい機能が追加さ...

Web開発でボックスを中央に配置するいくつかの方法

1. ボックスを中央に配置するいくつかの方法を記録します。 1.0、マージン幅固定、高さ中央配置。 ...

JavaScript配列重複排除の詳細な説明

目次1. アレイ重複排除2. 配列内のオブジェクトの重複排除3. 配列内の同じフィールドに基づいて別...

vue.js ベースの QQ チャット ルーム

目次導入効果のデモンストレーションは次のとおりです。 MChat コンポーネントのレンダリング: I...

MySQL sql_modeクエリと設定の詳細な説明

1. SQLを実行して表示する @@session.sql_mode を選択します。 グローバルレベ...

Dell R720 サーバーに Windows Server 2008 R2 をインストールする方法

注: この記事のすべての写真はインターネットから収集されたものであるため、DELL R720 サーバ...

Linux および Unix サーバーのセキュリティを強化する方法

ネットワーク セキュリティは非常に重要なトピックであり、サーバーはネットワーク セキュリティにおける...

MySQLで一意のサーバーIDを生成する方法

序文MySQL では、server-id を使用してデータベース インスタンスを一意に識別し、それを...

サーバーストレステストの概念と方法 (TPS/同時実行性)

目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...

LINUX ポートが占有されているかどうかを確認します

ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...

HTML タグ tbody の使い方と説明

tbody 要素は、thead 要素および tfoot 要素と組み合わせて使用​​する必要があります...

React における同期および非同期 setState の問題のコード分析

React は Facebook の社内プロジェクトとして始まりました。 React の出現は革命的...