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構文の簡単な紹介
「#」はコメントを表します。最も重要なことは、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」の下のホストでドメイン名のリダイレクトを設定します。
次に、cmd ping を実行して、ドメイン名が IP を正しく指しているかどうかを確認します。 正しくポイントした後、telnet を使用してポート 80 をチェックし、ポートと通信できるかどうかを確認します (telnet でそのようなコマンドがないと表示される場合は、クライアントがインストールされていません。Windows の有効化または無効化機能でインストールしてから操作してください) 次のインターフェースが得られ、通信が成功したことを示します。 この Windows システムでブラウザを開き、nginx.test.com と入力すると、次の結果が得られます。これは、外部ネットワーク アクセスが成功したことを意味します。 ファイアウォールを有効にしたまま、有効なポートだけを設定すると、ポート 81 はホワイトリストに追加されていないためアクセスできないことがわかります。 この時点で、Nginx サーバーのプロトタイプの展開は完了です。 6. Nginx 負荷分散構成 Nginxはリバースプロキシと負荷分散を1つに組み合わせており、設定ファイルを変更することで実現できます。 まず、設定ファイルを開きます
各サーバーは仮想ホストであり、そのうちの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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Node.js のモジュール性、npm パッケージ マネージャーの説明
1. CSSを通す必要がある背景CSS におけるメディアクエリの用途は、デバイスサイズの判別、マウス...
私は2年間運用保守に携わり、多くのコマンドを使用しました。特定のLinuxコマンドを習得すると、どれ...
概要zabbix バージョン 5.0 以降では、zabbix-agent2 という新しい機能が追加さ...
1. ボックスを中央に配置するいくつかの方法を記録します。 1.0、マージン幅固定、高さ中央配置。 ...
目次1. アレイ重複排除2. 配列内のオブジェクトの重複排除3. 配列内の同じフィールドに基づいて別...
目次導入効果のデモンストレーションは次のとおりです。 MChat コンポーネントのレンダリング: I...
1. SQLを実行して表示する @@session.sql_mode を選択します。 グローバルレベ...
注: この記事のすべての写真はインターネットから収集されたものであるため、DELL R720 サーバ...
ネットワーク セキュリティは非常に重要なトピックであり、サーバーはネットワーク セキュリティにおける...
序文MySQL では、server-id を使用してデータベース インスタンスを一意に識別し、それを...
目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...
最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...
ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...
tbody 要素は、thead 要素および tfoot 要素と組み合わせて使用する必要があります...
React は Facebook の社内プロジェクトとして始まりました。 React の出現は革命的...