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でSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

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

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

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

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つになりました

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)です。

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

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

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

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

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

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

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