HAproxy shell脚本安装

  1 #!/bin/bash
  2 
  3 #需要lua-5.3.5.tar.gz、haproxy-2.0.14.tar.gz在家目录下
  4 #1 编译安装lua
  5 #安装编译环境需要的包
  6 yum -y install gcc openssl-devel pcre-devel systemd-devel readline-devel
  7 
  8 #下载lua包
  9 #wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
 10 
 11 # 解压到lua包到指定的文件夹   -C  指定文件夹
 12 
 13 tar xvf lua-5.3.5.tar.gz -C /usr/local/src
 14 
 15 cd /usr/local/src/lua-5.3.5/
 16 
 17 #编译安装lua
 18 make linux test
 19 
 20 #2 编译安装haproxy
 21 cd
 22 
 23 tar xvf haproxy-2.0.14.tar.gz -C /usr/local/src/
 24 
 25 cd /usr/local/src/haproxy-2.0.14/
 26 
 27 #编译参数
 28 make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/
 29 
 30 make install PREFIX=/apps/haproxy
 31 
 32 #软连接方式配置环境变量
 33 ln -s /apps/haproxy/sbin/haproxy /usr/sbin/
 34 
 35 #准备配置文件和socket目录
 36 mkdir /var/lib/haproxy -p
 37 mkdir /etc/haproxy -p
 38 
 39 #创建启动haproxy用的账户
 40 useradd -r -s /sbin/nologin -d /var/lib/haproxy/ haproxy
 41 
 42 #导入cfg文件
 43 cat > /etc/haproxy/haproxy.cfg <<EOF
 44 global  
 45     maxconn 100000
 46     chroot /apps/haproxy
 47     stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
 48     #uid 99
 49     #gid 99
 50     user haproxy
 51     group haproxy
 52     daemon
 53     #nbproc 4
 54     #cpu-map 1 0
 55     #cpu-map 2 1
 56     #cpu-map 3 2
 57     #cpu-map 4 3
 58     pidfile /var/lib/haproxy/haproxy.pid
 59     log 127.0.0.1 local2 info
 60 
 61 defaults
 62     option http-keep-alive
 63     option forwardfor
 64     maxconn 100000
 65     mode http
 66     timeout connect 300000ms
 67     timeout client 300000ms
 68     timeout server 300000ms
 69     
 70 listen stats     
 71     mode http
 72     bind 0.0.0.0:9999   
 73     stats enable
 74     log global
 75     stats uri /haproxy-status    
 76     stats auth haadmin:123456  
 77 
 78 #listen web_port
 79 #    bind 10.0.0.7:80
 80 #    mode http
 81 #    log global
 82 #    server web1  127.0.0.1:8080 check inter 3000 fall 2 rise 5
 83 
 84 EOF
 85 
 86 #开机启动service文件
 87 
 88 cat > /usr/lib/systemd/system/haproxy.service <<EOF
 89 [Unit]
 90 Description=HAProxy Load Balancer
 91 After=syslog.target network.target
 92 [Service]
 93 ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
 94 ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p \
 95 /var/lib/haproxy/haproxy.pid
 96 ExecReload=/bin/kill -USR2 \$MAINPID
 97 [Install]
 98 WantedBy=multi-user.target
 99 EOF
100 
101 # 文件生效
102 systemctl daemon-reload
103 
104 
105 systemctl enable --now haproxy.service 
106 [root@rs2 ~]#vim haproxy.sh 
107 
108 #!/bin/bash
109 
110 #需要lua-5.3.5.tar.gz、haproxy-2.0.14.tar.gz在家目录下
111 #1 编译安装lua
112 #安装编译环境需要的包
113 yum -y install gcc openssl-devel pcre-devel systemd-devel readline-devel
114 
115 #下载lua包
116 #wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
117 
118 # 解压到lua包到指定的文件夹   -C  指定文件夹
119 
120 tar xvf lua-5.3.5.tar.gz -C /usr/local/src
121 
122 cd /usr/local/src/lua-5.3.5/
123 
124 #编译安装lua
125 make linux test
126 
127 #2 编译安装haproxy
128 cd
129 
130 tar xvf haproxy-2.0.14.tar.gz -C /usr/local/src/
131 
132 cd /usr/local/src/haproxy-2.0.14/
133 
134 #编译参数
135 make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/
136 
137 make install PREFIX=/apps/haproxy
138 
139 #软连接方式配置环境变量
140 ln -s /apps/haproxy/sbin/haproxy /usr/sbin/
141 
142 #准备配置文件和socket目录
143 mkdir /var/lib/haproxy -p
144 mkdir /etc/haproxy -p
145 
146 #创建启动haproxy用的账户
147 useradd -r -s /sbin/nologin -d /var/lib/haproxy/ haproxy
148 
149 #导入cfg文件
150 cat > /etc/haproxy/haproxy.cfg <<EOF
151 global  
152     maxconn 100000
153     chroot /apps/haproxy
154     stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
155     #uid 99
156     #gid 99
157     user haproxy
158     group haproxy
159         daemon
160     #nbproc 4
161     #cpu-map 1 0
162     #cpu-map 2 1
163     #cpu-map 3 2
164     #cpu-map 4 3
165     pidfile /var/lib/haproxy/haproxy.pid
166     log 127.0.0.1 local2 info
167 
168 defaults
169     option http-keep-alive
170     option forwardfor
171     maxconn 100000
172     mode http
173     timeout connect 300000ms
174     timeout client 300000ms
175     timeout server 300000ms
176     
177 listen stats     
178     mode http
179     bind 0.0.0.0:9999   
180     stats enable
181     log global
182     stats uri /haproxy-status    
183     stats auth haadmin:123456  
184 
185 #listen web_port
186 #    bind 10.0.0.7:80
187 #    mode http
188 #    log global
189 #    server web1  127.0.0.1:8080 check inter 3000 fall 2 rise 5
190 
191 EOF
192 
193 
194 #开机启动service文件
195 
196 cat > /usr/lib/systemd/system/haproxy.service <<EOF
197 [Unit]
198 Description=HAProxy Load Balancer
199 After=syslog.target network.target
200 [Service]
201 ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
202 ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p \
203 /var/lib/haproxy/haproxy.pid
204 ExecReload=/bin/kill -USR2 \$MAINPID
205 [Install]
206 WantedBy=multi-user.target
207 EOF
208 
209 # 文件生效
210 systemctl daemon-reload
211 
212 systemctl enable --now haproxy.service

 

posted @ 2020-04-15 19:05  言明UU  阅读(493)  评论(0)    收藏  举报