#!/bin/bash

 #需要lua-5.3..tar.gz、haproxy-2.0..tar.gz在家目录下
# 编译安装lua
#安装编译环境需要的包
yum -y install gcc openssl-devel pcre-devel systemd-devel readline-devel #下载lua包
#wget http://www.lua.org/ftp/lua-5.3.5.tar.gz # 解压到lua包到指定的文件夹 -C 指定文件夹 tar xvf lua-5.3..tar.gz -C /usr/local/src cd /usr/local/src/lua-5.3./ #编译安装lua
make linux test # 编译安装haproxy
cd tar xvf haproxy-2.0..tar.gz -C /usr/local/src/ cd /usr/local/src/haproxy-2.0./ #编译参数
make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1USE_OPENSSL= USE_ZLIB= USE_SYSTEMD= USE_LUA= LUA_INC=/usr/local/src/lua-5.3./src/ LUA_LIB=/usr/local/src/lua-5.3./src/ make install PREFIX=/apps/haproxy #软连接方式配置环境变量
ln -s /apps/haproxy/sbin/haproxy /usr/sbin/ #准备配置文件和socket目录
mkdir /var/lib/haproxy -p
mkdir /etc/haproxy -p #创建启动haproxy用的账户
useradd -r -s /sbin/nologin -d /var/lib/haproxy/ haproxy #导入cfg文件
cat > /etc/haproxy/haproxy.cfg <<EOF
global
maxconn
chroot /apps/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode level admin
#uid
#gid
user haproxy
group haproxy
daemon
#nbproc
#cpu-map
#cpu-map
#cpu-map
#cpu-map
pidfile /var/lib/haproxy/haproxy.pid
log 127.0.0.1 local2 info defaults
option http-keep-alive
option forwardfor
maxconn
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms listen stats
mode http
bind 0.0.0.0:
stats enable
log global
stats uri /haproxy-status
stats auth haadmin: #listen web_port
# bind 10.0.0.7:
# mode http
# log global
# server web1 127.0.0.1: check inter fall rise EOF #开机启动service文件 cat > /usr/lib/systemd/system/haproxy.service <<EOF
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p \
/var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 \$MAINPID
[Install]
WantedBy=multi-user.target
EOF # 文件生效
systemctl daemon-reload systemctl enable --now haproxy.service
[root@rs2 ~]#vim haproxy.sh #!/bin/bash #需要lua-5.3..tar.gz、haproxy-2.0..tar.gz在家目录下
# 编译安装lua
#安装编译环境需要的包
yum -y install gcc openssl-devel pcre-devel systemd-devel readline-devel #下载lua包
#wget http://www.lua.org/ftp/lua-5.3.5.tar.gz # 解压到lua包到指定的文件夹 -C 指定文件夹 tar xvf lua-5.3..tar.gz -C /usr/local/src cd /usr/local/src/lua-5.3./ #编译安装lua
make linux test # 编译安装haproxy
cd tar xvf haproxy-2.0..tar.gz -C /usr/local/src/ cd /usr/local/src/haproxy-2.0./ #编译参数
make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1USE_OPENSSL= USE_ZLIB= USE_SYSTEMD= USE_LUA= LUA_INC=/usr/local/src/lua-5.3./src/ LUA_LIB=/usr/local/src/lua-5.3./src/ make install PREFIX=/apps/haproxy #软连接方式配置环境变量
ln -s /apps/haproxy/sbin/haproxy /usr/sbin/ #准备配置文件和socket目录
mkdir /var/lib/haproxy -p
mkdir /etc/haproxy -p #创建启动haproxy用的账户
useradd -r -s /sbin/nologin -d /var/lib/haproxy/ haproxy #导入cfg文件
cat > /etc/haproxy/haproxy.cfg <<EOF
global
maxconn
chroot /apps/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode level admin
#uid
#gid
user haproxy
group haproxy
daemon
#nbproc
#cpu-map
#cpu-map
#cpu-map
#cpu-map
pidfile /var/lib/haproxy/haproxy.pid
log 127.0.0.1 local2 info defaults
option http-keep-alive
option forwardfor
maxconn
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms listen stats
mode http
bind 0.0.0.0:
stats enable
log global
stats uri /haproxy-status
stats auth haadmin: #listen web_port
# bind 10.0.0.7:
# mode http
# log global
# server web1 127.0.0.1: check inter fall rise EOF #开机启动service文件 cat > /usr/lib/systemd/system/haproxy.service <<EOF
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p \
/var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 \$MAINPID
[Install]
WantedBy=multi-user.target
EOF # 文件生效
systemctl daemon-reload systemctl enable --now haproxy.service

HAproxy shell脚本安装的更多相关文章

  1. shell脚本安装python、pip--这种写法是错误的---每一个命令执行完都要判断是否执行成功,否则无法进行下一步

    shell脚本安装python.pip--不需要选择安装项目--不管用总报错,必须带上判断符号,while没有这种用法,写在这里为了以后少走弯路,所以不要用下面的执行了 首先把pip-.tgz 安装包 ...

  2. Linuxqq shell脚本安装后的卸载

    官方下载和帮助页面: 传送门 linuxqq_2.0.0-b1 的时候,并没有发布 MIPS64 的 DEB 包,只能用 .sh 安装,需要手动删除卸载.愚人节发布的 beta2 新增了 MIPS64 ...

  3. zabbix通过shell脚本安装异常问题定位

    htxk-106主机信息现象如下: 通过zabbix_get命令 zabbix_get [7189]: Check access restrictions in Zabbix agent config ...

  4. Docker学习3-简单shell脚本安装mysql5.7与docker小技巧

    前言 玩过Windows中的 .bat 的小伙伴是不是觉得很有意思呢,github中一键推送.同步拉取等等操作,哈哈,当然shell脚本也是很类似,可以运行一个脚本就可以自动给我们部署好环境啦!但是这 ...

  5. shell 脚本安装Tomcat和java

    脚本安装Tomcat和java#!/bin/bash##SCRIPT:install_jdk-8u181-linux-x64_apache-tomcat-8.0.53#AUTHOR:Shinyinfo ...

  6. shell脚本安装部署反向代理 监控进程 计划任务

    1.编写脚本自动部署反向代理.web.nfs: 要求: I.部署nginx反向代理三个web服务,调度算法使用加权轮询: 反向代理服务器脚本配置脚本 #!/bin/bash #安装eple和nginx ...

  7. shell脚本安装python、pip--交互式的

    首先把pip-.tgz 安装包放在 /usr/local 下面,按照顺序先安装pip,再安装python.不要先安装或只安装python,否则很容易出错, [root@bogon ~]# cat pi ...

  8. 用shell脚本安装apache

    我们首先创建一个文件为test.sh,执行此文件的方法有以下四种方式: 1../test.sh(必须chmod赋予执行权限) 2.. test.sh 3.sourse test.sh 4.[shell ...

  9. shell脚本安装jdk

    #!/bin/bash BASE_SERVER=192.168.1.11 yum install -y wget wget $BASE_SERVER/soft-all/jdk-7u45-linux-x ...

随机推荐

  1. 记一次phpstudy应急响应

    某日,销售接了一个电话,突然告诉我有个某单位服务器中了木马被黑,具体情况未知.由于客户那边比较急,于是我火速赶往客户现场.到现场,客户首先给我看了深信服防火墙拦截记录,显示内网三台机器被入侵.通过沟通 ...

  2. Django-jwt token生成源码分析

    一. 认证的发展历程简介 这里真的很简单的提一下认证的发展历程.以前大都是采用cookie.session的形式来进行客户端的认证,带来的结果就是在数据库上大量存储session导致数据库压力增大,大 ...

  3. 用c写的简单的日历(学习模块划分)

    简单日历 ​ 主要目的是学习函数模块划分,成品大概是这样,加了一些花里胡哨的东西(/▽\) ​ 分三个模块,主函数.c 显示.c 计算.c 与.h 文件 有两种实现方式,区别在于是否以数组在模块之间传 ...

  4. 牛客练习赛60 A—F题解(缺E题)

    本蒟蒻这次只过了三题 赛后学习了一下出题人巨佬的标码(码风比我好多了 贴的代码有些是仿出题人)现在将自己的理解写下来与大家分享 A这个题一分析就是每个数字都会与所有数字&一下 (a&a ...

  5. 动态规划-Last Stone Weight II

    2020-01-11 17:47:59 问题描述: 问题求解: 本题和另一题target sum非常类似.target sum的要求是在一个数组中随机添加正负号,使得最终得到的结果是target,这个 ...

  6. Python-标准模块与第三方模块

    标准模块 python官方自己的模块 os os与os.path os.chdir('desktop')        跳转至指定目录 os.listdir()                    ...

  7. 服务器安装 mongodb

    参考 https://www.cnblogs.com/layezi/p/7290082.html

  8. 5分钟配置好你的AI开发环境

    作者 | Revolver 无论是第一次设置TensorFlow的新手数据科学爱好者,还是使用TB级数据的经验丰富的AI工程师,安装库.软件包或者框架总是一个困难又繁琐的过程.但是像Docker这样的 ...

  9. 近期 github 机器学习热门项目top5

    磐创智能-专注机器学习深度学习的教程网站 http://panchuang.net/ 磐创AI-智能客服,聊天机器人,推荐系统 http://panchuangai.com/ [导读]:Github是 ...

  10. 8 个出没在 Linux 终端的诡异家伙

    这篇文章,我们一起来到 Linux 的诡异的一面-- 你知道吗?在我们日常使用的 Unix(和 Linux )及其各种各样的分支系统中,存在着一些诡异的命令或进程,它们让人毛骨悚然,有些确实是有害,但 ...