#!/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. 【Weiss】【第03章】练习3.25:数组模拟队列

    [练习3.25] 编写实现队列的例程,使用 a.链表 b.数组 Answer: 在这章一开头就已经写了个链表的队列例程了,所以实际上只要做b小题就可以. 数组模拟队列和链表的两点小不同是: ①.数组空 ...

  2. 【Weiss】简单说一下这一分类下的东西

    主要是学习资料<数据结构与算法分析>(Weiss)的习题 除去习题外,每一章主要用到的数据结构先会写一个版本放上来,包括数据结构代码与测试用代码 这种先行上传的代码只具有基本的功能,毕竟一 ...

  3. .Net Core 实现图片验证码

    记录自己的学习,参考了网上各位大佬的技术,往往在登录的时候需要使用到验证码来进行简单的一个校验,这边使用在.net core上进行生成图片二维码 思路很简单=> 生成一个随机数->保存到服 ...

  4. C++:利用全局钩子实现键盘锁

    在家看网课,记笔记不方便.于是就想弄个键盘锁,方便学习(在寝室也好把外接键盘放上去打游戏). 其实这东西挺简单的,就三行代码. HHOOK hk; LRESULT CALLBACK kbproc(in ...

  5. CSS每日学习笔记(3)

    8.1.2019 1.CSS伪类:用于向某些选择器添加特殊的效果. 伪类的语法: selector : pseudo-class {property: value} CSS 类也可与伪类搭配使用. a ...

  6. Block详解二(底层分析)

    Block专辑: Block讲解一 MRC-block与ARC-block Block详解一(底层分析) 今天讲述Block的最后一篇,后两篇仅仅是加深1,2篇的理解,废话少说,开始讲解! __blo ...

  7. 201771010111-李瑞红 实验一 软件工程准备-<构建之法-现代软件工程-基础认识和理解>

    |||||||| | :--

  8. [set]Codeforces 830B-Cards Sorting

    Cards Sorting time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  9. Building Applications with Force.com and VisualForce (DEV401) (二四):JavaScript in Visualforce

    Dev401-025:Visualforce Pages: JavaScript in Visualforce Module Objectives1.Describe the use of AJAX ...

  10. Jmeter 注册用户获取登录token值

    1. 打开jemeter,新建一个测试计划,>线程组 >新建一个 登录的 Http 请求. 2.填上相应的值 3.新建一个消息头管理器> content-Type  applicat ...