From 176e4c8b3ef7f8d90a206b4283763c8f79283fae Mon Sep 17 00:00:00 2001 From: dami Date: Wed, 15 Apr 2026 13:22:15 +0800 Subject: [PATCH] update --- plugins/haproxy/info.json | 2 +- plugins/haproxy/versions/2.8/install.sh | 101 ++++++++++++++++++++++++ plugins/haproxy/versions/3.0/install.sh | 101 ++++++++++++++++++++++++ plugins/haproxy/versions/3.2/install.sh | 101 ++++++++++++++++++++++++ plugins/lvs/readme.md | 7 +- 5 files changed, 310 insertions(+), 2 deletions(-) create mode 100755 plugins/haproxy/versions/2.8/install.sh create mode 100755 plugins/haproxy/versions/3.0/install.sh create mode 100755 plugins/haproxy/versions/3.2/install.sh diff --git a/plugins/haproxy/info.json b/plugins/haproxy/info.json index 98700f813..2bdc07622 100755 --- a/plugins/haproxy/info.json +++ b/plugins/haproxy/info.json @@ -4,7 +4,7 @@ "name": "haproxy", "title": "haproxy", "shell": "install.sh", - "versions":["2.6"], + "versions":["2.6","2.8","3.0","3.2"], "updates":["2.6"], "tip": "soft", "checks": "server/haproxy", diff --git a/plugins/haproxy/versions/2.8/install.sh b/plugins/haproxy/versions/2.8/install.sh new file mode 100755 index 000000000..f6e527064 --- /dev/null +++ b/plugins/haproxy/versions/2.8/install.sh @@ -0,0 +1,101 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH + +curPath=`pwd` +rootPath=$(dirname "$curPath") +rootPath=$(dirname "$rootPath") +serverPath=$(dirname "$rootPath") +sysName=`uname` + +bash ${rootPath}/scripts/getos.sh +OSNAME=`cat ${rootPath}/data/osname.pl` +OSNAME_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'` + + +VERSION=2.8.20 +MIN_VERSION=2.8 +Install_App() +{ + echo '正在安装Haproxy软件...' + mkdir -p $serverPath/haproxy + + APP_DIR=${serverPath}/source/haproxy + mkdir -p $APP_DIR + echo $MIN_VERSION > $serverPath/haproxy/version.pl + + LOCAL_ADDR=common + cn=$(curl -fsSL -m 10 -s http://ipinfo.io/json | grep "\"country\": \"CN\"") + if [ ! -z "$cn" ] || [ "$?" == "0" ] ;then + LOCAL_ADDR=cn + fi + + + if [ "${LOCAL_ADDR}" == "cn" ];then + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + wget -O ${APP_DIR}/haproxy-${VERSION}.tar.gz https://dl.midoks.icu/soft/haproxy/haproxy-${VERSION}.tar.gz + fi + fi + + + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + if [ $sysName == 'Darwin' ]; then + wget --no-check-certificate -O ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + else + curl -sSLo ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + fi + fi + + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + curl -sSLo ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + fi + + + cd ${APP_DIR} && tar -zxvf haproxy-${VERSION}.tar.gz + + if [ "$OSNAME" == "macos" ];then + cd ${APP_DIR}/haproxy-${VERSION} && make TARGET=osx && make install PREFIX=$serverPath/haproxy + else + cd ${APP_DIR}/haproxy-${VERSION} && make TARGET=linux-glibc && make install PREFIX=$serverPath/haproxy + fi + + echo '安装Haproxy成功' + + #Haproxy日志配置 + if [ -f /etc/rsyslog.conf ];then + find_ha=`cat /etc/rsyslog.conf | grep haproxy` + if [ "$find_ha" != "" ];then + echo $find_ha + else + echo "---------------------------------------------" + echo "" > ${serverPath}/haproxy/haproxy.log + echo "local0.* ${serverPath}/haproxy/haproxy.log" >> /etc/rsyslog.conf + systemctl restart syslog + echo "syslog默认的haproxy配置" + echo "local0.* ${serverPath}/haproxy/haproxy.log >> /etc/rsyslog.conf" + echo "---------------------------------------------" + fi + fi + + #删除解压源码 + if [ -d ${APP_DIR}/haproxy-${VERSION} ];then + rm -rf ${APP_DIR}/haproxy-${VERSION} + fi +} + +Uninstall_App() +{ + if [ -f $serverPath/haproxy/initd/haproxy ];then + $serverPath/haproxy/initd/haproxy stop + fi + + rm -rf $serverPath/haproxy + echo "卸载Haproxy成功" +} + +action=$1 +if [ "${1}" == 'install' ];then + Install_App +else + Uninstall_App +fi diff --git a/plugins/haproxy/versions/3.0/install.sh b/plugins/haproxy/versions/3.0/install.sh new file mode 100755 index 000000000..0e586755f --- /dev/null +++ b/plugins/haproxy/versions/3.0/install.sh @@ -0,0 +1,101 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH + +curPath=`pwd` +rootPath=$(dirname "$curPath") +rootPath=$(dirname "$rootPath") +serverPath=$(dirname "$rootPath") +sysName=`uname` + +bash ${rootPath}/scripts/getos.sh +OSNAME=`cat ${rootPath}/data/osname.pl` +OSNAME_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'` + + +VERSION=3.0.19 +MIN_VERSION=3.0 +Install_App() +{ + echo '正在安装Haproxy软件...' + mkdir -p $serverPath/haproxy + + APP_DIR=${serverPath}/source/haproxy + mkdir -p $APP_DIR + echo $MIN_VERSION > $serverPath/haproxy/version.pl + + LOCAL_ADDR=common + cn=$(curl -fsSL -m 10 -s http://ipinfo.io/json | grep "\"country\": \"CN\"") + if [ ! -z "$cn" ] || [ "$?" == "0" ] ;then + LOCAL_ADDR=cn + fi + + + if [ "${LOCAL_ADDR}" == "cn" ];then + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + wget -O ${APP_DIR}/haproxy-${VERSION}.tar.gz https://dl.midoks.icu/soft/haproxy/haproxy-${VERSION}.tar.gz + fi + fi + + + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + if [ $sysName == 'Darwin' ]; then + wget --no-check-certificate -O ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + else + curl -sSLo ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + fi + fi + + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + curl -sSLo ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + fi + + + cd ${APP_DIR} && tar -zxvf haproxy-${VERSION}.tar.gz + + if [ "$OSNAME" == "macos" ];then + cd ${APP_DIR}/haproxy-${VERSION} && make TARGET=osx && make install PREFIX=$serverPath/haproxy + else + cd ${APP_DIR}/haproxy-${VERSION} && make TARGET=linux-glibc && make install PREFIX=$serverPath/haproxy + fi + + echo '安装Haproxy成功' + + #Haproxy日志配置 + if [ -f /etc/rsyslog.conf ];then + find_ha=`cat /etc/rsyslog.conf | grep haproxy` + if [ "$find_ha" != "" ];then + echo $find_ha + else + echo "---------------------------------------------" + echo "" > ${serverPath}/haproxy/haproxy.log + echo "local0.* ${serverPath}/haproxy/haproxy.log" >> /etc/rsyslog.conf + systemctl restart syslog + echo "syslog默认的haproxy配置" + echo "local0.* ${serverPath}/haproxy/haproxy.log >> /etc/rsyslog.conf" + echo "---------------------------------------------" + fi + fi + + #删除解压源码 + if [ -d ${APP_DIR}/haproxy-${VERSION} ];then + rm -rf ${APP_DIR}/haproxy-${VERSION} + fi +} + +Uninstall_App() +{ + if [ -f $serverPath/haproxy/initd/haproxy ];then + $serverPath/haproxy/initd/haproxy stop + fi + + rm -rf $serverPath/haproxy + echo "卸载Haproxy成功" +} + +action=$1 +if [ "${1}" == 'install' ];then + Install_App +else + Uninstall_App +fi diff --git a/plugins/haproxy/versions/3.2/install.sh b/plugins/haproxy/versions/3.2/install.sh new file mode 100755 index 000000000..ef20c4167 --- /dev/null +++ b/plugins/haproxy/versions/3.2/install.sh @@ -0,0 +1,101 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH + +curPath=`pwd` +rootPath=$(dirname "$curPath") +rootPath=$(dirname "$rootPath") +serverPath=$(dirname "$rootPath") +sysName=`uname` + +bash ${rootPath}/scripts/getos.sh +OSNAME=`cat ${rootPath}/data/osname.pl` +OSNAME_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'` + + +VERSION=3.2.15 +MIN_VERSION=3.2 +Install_App() +{ + echo '正在安装Haproxy软件...' + mkdir -p $serverPath/haproxy + + APP_DIR=${serverPath}/source/haproxy + mkdir -p $APP_DIR + echo $MIN_VERSION > $serverPath/haproxy/version.pl + + LOCAL_ADDR=common + cn=$(curl -fsSL -m 10 -s http://ipinfo.io/json | grep "\"country\": \"CN\"") + if [ ! -z "$cn" ] || [ "$?" == "0" ] ;then + LOCAL_ADDR=cn + fi + + + if [ "${LOCAL_ADDR}" == "cn" ];then + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + wget -O ${APP_DIR}/haproxy-${VERSION}.tar.gz https://dl.midoks.icu/soft/haproxy/haproxy-${VERSION}.tar.gz + fi + fi + + + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + if [ $sysName == 'Darwin' ]; then + wget --no-check-certificate -O ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + else + curl -sSLo ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + fi + fi + + if [ ! -f ${APP_DIR}/haproxy-${VERSION}.tar.gz ];then + curl -sSLo ${APP_DIR}/haproxy-${VERSION}.tar.gz https://www.haproxy.org/download/${MIN_VERSION}/src/haproxy-${VERSION}.tar.gz + fi + + + cd ${APP_DIR} && tar -zxvf haproxy-${VERSION}.tar.gz + + if [ "$OSNAME" == "macos" ];then + cd ${APP_DIR}/haproxy-${VERSION} && make TARGET=osx && make install PREFIX=$serverPath/haproxy + else + cd ${APP_DIR}/haproxy-${VERSION} && make TARGET=linux-glibc && make install PREFIX=$serverPath/haproxy + fi + + echo '安装Haproxy成功' + + #Haproxy日志配置 + if [ -f /etc/rsyslog.conf ];then + find_ha=`cat /etc/rsyslog.conf | grep haproxy` + if [ "$find_ha" != "" ];then + echo $find_ha + else + echo "---------------------------------------------" + echo "" > ${serverPath}/haproxy/haproxy.log + echo "local0.* ${serverPath}/haproxy/haproxy.log" >> /etc/rsyslog.conf + systemctl restart syslog + echo "syslog默认的haproxy配置" + echo "local0.* ${serverPath}/haproxy/haproxy.log >> /etc/rsyslog.conf" + echo "---------------------------------------------" + fi + fi + + #删除解压源码 + if [ -d ${APP_DIR}/haproxy-${VERSION} ];then + rm -rf ${APP_DIR}/haproxy-${VERSION} + fi +} + +Uninstall_App() +{ + if [ -f $serverPath/haproxy/initd/haproxy ];then + $serverPath/haproxy/initd/haproxy stop + fi + + rm -rf $serverPath/haproxy + echo "卸载Haproxy成功" +} + +action=$1 +if [ "${1}" == 'install' ];then + Install_App +else + Uninstall_App +fi diff --git a/plugins/lvs/readme.md b/plugins/lvs/readme.md index 29ef5bd64..0254d7ef9 100644 --- a/plugins/lvs/readme.md +++ b/plugins/lvs/readme.md @@ -7,10 +7,15 @@ ifconfig ens256 172.16.204.100 netmask 255.255.255.255 broadcast 192.168.212.100 route add -host 172.16.204.100 dev ens256 - ipvsadm -A -t 172.16.204.100:80 -s rr ipvsadm -a -t 172.16.204.100:80 -r 172.16.204.129:80 -m +跨机房 +ipvsadm -A -t 154.21.1.1:8016 -s wlc +ipvsadm -a -t 154.21.1.1:8016 -r 103.39.78.2 -i +源 +ifconfig tunl0 154.21.1.1 netmask 255.255.255.255 up + # 清空LVS规则 ipvsadm -C