http 기본포트 80
https 기본포트 443
mysql 기본포트 3306
개발서버에서
개발서버 - 중간proxy서버 - 시세운영망proxy - 시세운영망db
이렇게 구성을 하고 싶었다.
시세운영망db에 붙어서 개발서버에서 데이터를 저장시키는 방식을 진행하기위해
현재 운영망에서 쓰는 방식인 haproxy를 개발서버에 도입했다.
그간의 과정을 적어보겠다.
개발서버에서 dbconnect 소켓을 열때
중간proxy서버의 ip와 지정한포트를 주고
접속정보는 운영망db의 id와 pwd를 준다.
이렇게 설정을 하면
중간proxy서버의 haproxy가 개발서버에서 던진 접속정보를 가지고 시세운영망proxy서버로 던진다.
시세운영망proxy에서도 db쪽으로 붙게끔 던져준다.
-> 시세운영망의 db의 IP와 PORT는 알 필요가없게 된다.
log관련해서
$ sudo vi /etc/rsyslog.conf
# 아래 부분을 찾아 수정한다
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
$ sudo vi /etc/rsyslog.d/haproxy.conf
# 신규 conf파일을 생성하고 아래와 같이 설정한다 (프로토콜 별로 구분하여 저장한다)
local1.* /var/log/haproxy_http.log
local2.* /var/log/haproxy_tcp.log
# rsyslog를 (재)시작한다
$ sudo service rsyslog restart
# rsyslog를 정상 서비스 상태를 확인한다
$ sudo service rsyslog status
------------------------------------------------------------------------------------------------------------------------
stats
vi haproxy.cfg
listen stats
bind *:9000
stats enable
stats uri /haproxy_stats
#stats auth tqtid:tqtpwd
http://172.16.71.200:9000/haproxy_stats 로 접속
-----------------------------------------------------------------------------------------------------------------
cat haproxy.cfg
#---------------------------------------------------------------------
# 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 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 10s
maxconn 3000
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
#frontend main *:80
# 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
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
#backend static
# balance roundrobin
# server static 127.0.0.1:4331 check
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
#backend app
# balance roundrobin
# server app1 127.0.0.1:5001 check
# server app2 127.0.0.1:5002 check
# server app3 127.0.0.1:5003 check
# server app4 127.0.0.1:5004 check
listen stats
bind *:9000
stats enable
stats uri /haproxy_stats
#stats auth tqtid:tqtpwd
listen sise-db
bind *:33306
mode tcp
option tcplog
#option dontlog-normal
#option dontlognull
balance roundrobin
#log 127.0.0.1 local2
server ktproxy1 운영아이피:열어놓은포트 check
default와 global 라인빼곤 전부다 주석처리하고
밑에 listen stats와 sise-db라인 추가했다.
개발서버에서
중간proxy서버의아이피:33306으로 던지면
운영아이피와 열어넣어놓은포트로 가게된다.
------------------------------------------------------------------------------------
참고사이트
https://dev-youngjun.tistory.com/97
'개발 업무(코딩)-개발자였을때 썼던..' 카테고리의 다른 글
mysql dump (0) | 2023.01.09 |
---|---|
default port(디폴트포트) 및 계층구조 (0) | 2023.01.09 |
public boolean preHandle(HttpServletRequest request, HttpServletResponse response) request 데이터가져오기 (0) | 2023.01.09 |
java.lang.UnsatisfiedLinkError: no scpdb_agent_jni in java.library.path 해결방법+linux (0) | 2023.01.09 |
스프링 starting j2ee preview at localhost has encountered a problem 에러 해결방법 (0) | 2023.01.09 |