.. index:: haproxy_1.5 HAProxy 1.5.0~1.5.11 ======================= .. contents:: Contents =========== 実行環境 =========== :ref:`centos_6.6` =========== 最終検証日 =========== 2015/03/02 ================ 検証バージョン ================ * 1.5.0 * 1.5.1 * 1.5.2 * 1.5.3 * 1.5.4 * 1.5.5 * 1.5.6 * 1.5.7 * 1.5.8 * 1.5.9 * 1.5.10 * 1.5.11 =========== 依存関係 =========== =========== コンパイル =========== .. note:: 基本的には管理者ユーザ(rootなど)で実施していることを前提としています .. code-block:: bash #------------------------------------------------------------ # HAProxy 1.5系 #------------------------------------------------------------ BASE=/opt/brew # ソースダウンロード先 comp_dir=/usr/local/src # パッケージ名 pack_name=haproxy # バージョン version=-1.5.11 # ソースのファイル形式 ext=.tar.gz # tar解凍時のオプション ext_opt=z # インストール先ディレクトリ ins_dir=/opt/${pack_name}/${version##-} # ダウンロード元パッケージ dl_uri="http://www.haproxy.org/download/1.5/src/haproxy${version}.tar.gz" cd ${comp_dir} rm -rf ${pack_name}${version} wget -c ${dl_uri} -O ${pack_name}${version}${ext} tar ${ext_opt}xf ${pack_name}${version}${ext} cd ${pack_name}${version} make PREFIX=${ins_dir} TARGET=linux2628\ && make install PREFIX=${ins_dir} && mkdir -p ${ins_dir}/var/run ======================== 主なconfigureオプション ======================== .. note:: configureオプションではなくmakeの環境変数で行います ``PREFIX=[DIR]`` インストール先ディレクトリの指定 ``TARGET=[TYPE]`` インストール先のシステムを入力 =============== 初期設定 =============== ユーザの作成 --------------------- ユーザはセキュリティのため、一般ユーザを使用します。ここではhaproxyのデフォルトのユーザとします。 .. code-block:: bash id haproxy || useradd -r haproxy 必要なディレクトリの作成 --------------------------- .. code-block:: bash mkdir -p ${ins_dir}/etc mkdir -p ${ins_dir}/var/run =============== 設定ファイル =============== haproxy.cfg --------------------- デフォルトではファイルがインストールされないので、サンプル用ファイルをコピーして使用します。 コピー後、システムに合わせてカスタマイズしていきます。 .. code-block:: bash cd ${comp_dir}/${pack_name}${version} cp ./examples/haproxy.cfg ${ins_dir}/etc/. vim ${ins_dir}/etc/haproxy.cfg | 詳細なセットアップは非常に複雑なので参考サイトを記載します。 | http://cbonte.github.io/haproxy-dconv/configuration-1.5.html | http://momijiame.tumblr.com/post/71727083520/centos-6-5-haproxy | http://d.hatena.ne.jp/hrendoh/20120420/1334906858 | http://k-1-ne-jp.blogspot.jp/2013/01/slavehaproxy.html ================ Pathの設定 ================ | /opt/brew の下にシンボリックリンクを貼っていきます。 | これにより、PATHの設定が簡単になります。 .. code-block:: bash for type in $(ls -1 ${ins_dir}) do for src in $(find ${ins_dir}/${type} -xtype f) do parent=`dirname ${src#*/${type}/}` filename=`basename ${src}` mkdir -p ${BASE}/${type}/${parent} echo "ln -fs ${src} ${BASE}/${type}/${parent}/${filename}" ln -fs ${src} ${BASE}/${type}/${parent}/${filename} done done grep -q ${BASE}/bin ~/.bashrc \ || echo "export PATH=${BASE}/bin:${BASE}/sbin:"'${PATH}' >> ~/.bashrc \ ; source ~/.bashrc ====== 起動 ====== インストール先に合わせて実行します。 .. code-block:: bash /opt/brew ./sbin/haproxy -f ./etc/haproxy.cfg -p ./var/run/haproxy.pid -D ====== 停止 ====== インストール先に合わせて実行します。 .. code-block:: bash cd /opt cat ./var/run/haproxy.pid | xargs kill