#!/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. [项目分享]JSP+Servlet+JDBC实现的学生信息管理系统

    本文存在视频版本,请知悉 项目简介 项目来源于:https://gitee.com/liu_xu111/JavaWeb01 这次分享一个学生管理系统,我感觉这是程序员在大学时期的毕设和课程设计选择最多 ...

  2. C语言二进制拼接 (整数和byte类型的字符串拼接)

    #include <iostream>#include <cstring>#include <cstdio> using namespace std; typede ...

  3. jQuery万能放大镜插件(普通矩形放大镜)

    插件链接:http://files.cnblogs.com/files/whosMeya/magnifier.js 1.在jquery下插入. 2.格式:magnifier("需要插入的位置 ...

  4. 【Weiss】【第03章】练习3.12:单链表倒置

    [练习3.12] a.编写一个非递归过程以O(N)时间反转单链表. b.使用常数附加空间编写一个过程以O(N)时间反转单链表. Answer: 这题的b貌似没啥意义,在a小题里直接用头插法,不断地将头 ...

  5. 蓝桥杯vip题阶乘计算

    蓝桥杯vip题阶乘计算 详细题目 输入一个正整数n,输出n!的值. 其中n!=123*-*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个 ...

  6. Spring总结————spring核心Core

    一.spring的概念 spring是一个开源的,轻量级控制反转和面向切面的容器框架,解决企业应用开发的复杂性,降低耦合,更易于测试. spring春天.如果写一个小的项目,我们可以在项目中想创建一个 ...

  7. drf-jwt的过滤,筛选,排序,分页组件

    目录 自定义drf-jwt配置 案例:实现多方式登陆签发token urls.py models.py serializers.py views.py 案例:自定义认证反爬规则的认证类 urls.py ...

  8. 洛谷3372线段树模板题 对区间+k或者查询区间和

    #include<bits/stdc++.h> using namespace std; typedef unsigned int ui; typedef long long ll; ty ...

  9. 【codeforces】Codeforces Round #612 (Div. 2) C. Garland——DP

    题目链接 贪心模拟了半天,最后放弃了 题意 给你一串从1−n1-n1−n的序列,其中部分未知(表示为0),补全序列使得相邻数值奇偶性相反的数量最少 相邻数值的奇偶性相反:两个相邻的两个数值,其中一个为 ...

  10. 【2019牛客暑期多校第三场】J题LRU management

    题目链接 题意 好吧,这道题我其实看都没看过,队友跟我说了说这道题是模拟题,卡时间.然后我就上了-- 大致就是维护一个线性表,然后有两种操作:插入.查询 插入时,如果这个值(string)之前出现过, ...