Debian 9.1(ストレッチ)へのHAProxy 1.7のインストール

HAProxyは、TCPおよびHTTPネットワークアプリケーションに高可用性、ロードバランシング、およびプロキシを提供するネットワークソフトウェアアプリケーションです。トラフィックの多いWebサイトに適しており、Web全体で人気のある多くのサイトを強化します。この記事では、Debian 9.1にHAProxyをインストールして構成する方法を示します。

HAProxyにはいくつかの優れた機能がありますが、この記事では、Webアプリケーションを「プロキシ」するようにHAProxyを設定する方法に焦点を当てています。

必要条件

  • 少なくとも2つのVultrサーバー(ロードバランシング機能用)と、その両方にデプロイされたWebサイトまたはWebアプリケーション。

HAProxyのインストール

Debian 9にはすでにHAProxy 1.7(執筆時点での最新の安定版リリース)が同梱されており、次を使用して簡単にインストールできますapt-get

# apt-get update
# apt-get install haproxy

前のコマンドが成功した場合は、HAProxyがインストールされているので、次のステップに進むことができます。

HAProxyの構成

HAProxy構成ファイルは、「グローバル」と「プロキシ」の2つのセクションに分かれています。1つはプロセス全体の構成を扱い、もう1つはデフォルト構成、フロントエンド、およびバックエンドセクションで構成されます。

グローバルセクション

お好みのテキストエディタを使用して/etc/haproxy/haproxy.cfg、定義済みセクション「グローバル」と「デフォルト」を開いて確認します。maxconnHAProxyが許可する接続に影響を与えるため、最初に行うことは、を適切なサイズに増やすことです。接続が多すぎると、多くのリクエストが原因でWebサービスがクラッシュする可能性があります。うまくいくか確認するには、サイズを調整する必要があります。グローバルセクションでは、のmaxconn値を選択しました3072

global
    daemon
    maxconn 3072

デフォルトのセクションで、モードの下に次の行を追加しますhttp

option forwardfor

これX-Forwarded-Forにより、各リクエストにヘッダーが追加され、バックエンドサーバーがユーザーの元のIPアドレスを学習できるようになります。

また、この行を追加して、クライアント側でHTTPキープアライブをサポートする機能を維持しながら、サーバー側でHTTP接続クローズモードを有効にします。これにより、クライアント側の待ち時間が短縮され、サーバーリソースの節約に役立ちます。

option http-server-close

クライアント側とサーバー側の両方でキープアライブを使用したい場合は、option http-keep-alive代わりに使用できます。このオプションは、サーバーへの新しい接続を確立するためのコストが、要求されたリソースを取得するためのコストと比較して大きい場合に特に役立ちます。

最後に、結果の構成ファイルは次のようになります。

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

プロキシセクション

プロキシを設定するには、構成ファイルに2つのセクションを追加して、プロキシの2つの部分(フロントエンドとバックエンド)を定義する必要があります。

フロントエンド構成

フロントエンドがHTTP接続を処理します。haproxy.cfgファイルの最後に次を追加します。

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

必ずpublic_ipサーバーのパブリックIPアドレスまたはドメイン名に置き換えてください。

バックエンド構成

構成ファイルの最後に次の行を追加して、バックエンドをセットアップします。

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

ここで使用されるバックエンド構成は、という名前の3つの接続を作成しますX-www。(X1、2、または3です。)それぞれがserverX_ip:80 アドレスに対応します。(serverX_ipVultrインスタンスのIPアドレスに置き換えます。)これにより、指定したサーバーセット内の各サーバー間で負荷を分散できます(各IPアドレスが異なるサーバーに対応していると想定)。このcheckオプションにより、ロードバランサーはサーバーでヘルスチェックを実行します。

構成ファイルを保存してから、HAProxyを再起動します。

service haproxy restart

すべてが機能している場合は、接続してhttp://public_ip/(フロントエンドの手順で構成したパブリックIPまたはドメイン名に置き換えて)、Webサイトを表示できます。

エラーのデバッグ

変更後にHAProxyインスタンスが起動を拒否した場合、構成ファイルのどこかにエラーがある可能性があります。構成ファイルで問題に関する明確なメッセージを取得するには、次のコマンドを使用してHAProxyを手動で起動してみてください。

# haproxy -f /etc/haproxy/haproxy.cfg

たとえば、次のような出力が表示された場合:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

次に、サーバーのポート番号を指定するのを忘れました1-www



Leave a Comment

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

はじめにWeb分散オーサリングおよびバージョン管理(WebDAV)は、リモートでファイルを作成および変更するためのフレームワークを提供するHTTP拡張です。

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

Debian 9にNeos CMSをインストールする方法

Debian 9にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

Debian JessieでCactiをセットアップする

Debian JessieでCactiをセットアップする

はじめにCactiは、RRDデータに完全に基づいたオープンソースの監視およびグラフ作成ツールです。サボテンを通じて、ほぼすべてのタイプのデビックを監視できます

CentOS 8、Ubuntu 18.04、Debian 10、Fedora 31にGolang 1.13をインストールする方法

CentOS 8、Ubuntu 18.04、Debian 10、Fedora 31にGolang 1.13をインストールする方法

Go(Golangとも呼ばれます)は、静的に型付けされ、コンパイルされた、Cのようなプログラミング言語で、Googleによって開発されました。シンプルさと多用途性により、b

Debian 8のFlash 5にPBXをインストールする

Debian 8のFlash 5にPBXをインストールする

PBX In A Flash 5(PIAF5)は、Vultr VPSを本格的なPBXに変えるDebian 8ベースのオペレーティングシステムです。次のような特徴があります。

Ubuntu 16.04およびDebian 9にTermRecordをインストールする方法

Ubuntu 16.04およびDebian 9にTermRecordをインストールする方法

別のシステムを使用していますか?TermRecordはPythonで記述されたシンプルなオープンソースツールで、ターミナルセッションを簡単に共有できる自己完結型に保存できます。

Debian 9にMatomo Analyticsをインストールする方法

Debian 9にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

この記事では、Vultrでテンプレートとして提供されるサーバーオペレーティングシステムの概要を説明します。CentOS CentOSはRHEL(Re

X-Cart 5をDebian 10にインストールする方法

X-Cart 5をDebian 10にインストールする方法

別のシステムを使用していますか?X-Cartは、数多くの機能と統合を備えた非常に柔軟なオープンソースのeコマースプラットフォームです。X-Cartのソースコードはホストです

MuninでDebianサーバーのステータスを監視する

MuninでDebianサーバーのステータスを監視する

Muninは、マシンのプロセスとリソースを調査する監視ツールであり、Webインターフェースを介して情報をグラフで表示します。フォローインを使用する

サーバーにIPアドレス範囲を追加する(CentOS / Ubuntu / Debian)

サーバーにIPアドレス範囲を追加する(CentOS / Ubuntu / Debian)

はじめにこのチュートリアルでは、CentOS、Debian、またはUbuntuを実行しているLinuxサーバーにIP範囲/サブネット全体を追加するプロセスについて説明します。プロセス

Debian 9のディアスポラでソーシャルネットワークを構築する

Debian 9のディアスポラでソーシャルネットワークを構築する

別のシステムを使用していますか?Diasporaはプライバシーを意識したオープンソースのソーシャルネットワークです。このチュートリアルでは、ディアスポラpoを設定する方法を学びます

Selfoss RSSリーダーをDebian 9 LAMP VPSにインストールする方法

Selfoss RSSリーダーをDebian 9 LAMP VPSにインストールする方法

別のシステムを使用していますか?Selfoss RSSリーダーは、無料でオープンソースのセルフホスト型のWebベースの多目的ライブストリーム、マッシュアップ、ニュースフィード(RSS / Atom)です。

UbuntuまたはDebianでApt-GetをIPv4またはIPv6に強制する

UbuntuまたはDebianでApt-GetをIPv4またはIPv6に強制する

ここVultrでは、デプロイ可能なすべてのVPSでIPv6を有効にするオプションがあります。しかし、これにより、一部のプログラムとコマンドはどちらか一方を優先する場合があります

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、