PgSql on Docker with HaProxy 反向代理

DukeCheng發表於2017-10-30

Run PgSql on Docker as Remote Db


docker run -d -it \
--name pgdb \
-p 5432:5432 \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=youpassword --volume=/data/pgsql_data:/var/lib/postgresql/data postgres:latest postgres



Config HaProxy 作為反向代理伺服器

#---------------------------------------------------------------------

# Example configuration for a possible web application. See the

# full configuration options online.

#

# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt

#

#---------------------------------------------------------------------

#---------------------------------------------------------------------

# Global settings

#---------------------------------------------------------------------

global

# to have these messages end up in /var/log/haproxy.log you will

# need to:

#

# 1) configure syslog to accept network log events. This is done

# by adding the '-r' option to the SYSLOGD_OPTIONS in

# /etc/sysconfig/syslog

#

# 2) configure local2 events to go to the /var/log/haproxy.log

# file. A line like the following can be added to

# /etc/sysconfig/syslog

#

# local2.* /var/log/haproxy.log

#

log 127.0.0.1 local2

chroot /var/lib/haproxy

pidfile /var/run/haproxy.pid

maxconn 4000

user haproxy

group haproxy

daemon

# turn on stats unix socket

stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------

# common defaults that all the 'listen' and 'backend' sections will

# use if not designated in their block

#---------------------------------------------------------------------

defaults

mode tcp

# mode http

log global

# option httplog

# option dontlognull

# option http-server-close

# option forwardfor except 127.0.0.0/8

# option redispatch

retries 3

# timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

# timeout http-keep-alive 10s

timeout check 5s

maxconn 3000

#---------------------------------------------------------------------

# main frontend which proxys to the backends

#---------------------------------------------------------------------

#frontend main *:5000

# acl url_static path_beg -i /static /images /javascript /stylesheets

# acl url_static path_end -i .jpg .gif .png .css .js

# use_backend static if url_static

# default_backend app

listen pgsql 0.0.0.0:15432

mode tcp

balance roundrobin

# Add PostgreSQL replica here.

option pgsql-check user snaga

server master 127.0.0.1:5432 check inter 10000

#listen stats 127.0.0.1:6080

listen stats *:6080

mode http

log global

maxconn 10

timeout client 100s

timeout server 100s

timeout connect 100s

timeout queue 100s

stats enable

stats hide-version

stats refresh 30s

stats show-node

# stats auth admin:password

stats uri /stats

相關文章