renyanping 发表于 2019-2-15 11:53:51

Centos7 haproxy动静分离

Centos7 haproxy动静分离

  实现的结果:
当客户端访问haproxy时,请求的是静态文件内容时,请求转交给static server,请求的是php内容时,请求转交给php server,请求的是jsp内容时,请求转交给tomcat server,以实现动静分离。
haproxy服务器:192.168.80.100
先部署三台web服务器:
一台httpd支持php192.168.80.101
一台部署httpd支持静态资源 192.168.80.102
一台tomcat支持jsp    192.168.80.103
  192.168.80.100:
1、安装编译环境与软件
yum install -ypcre-develbzip2-develgccgcc-c++make

  2、源码编译安装haproxy
tar xzvf haproxy-1.5.15.tar.gz-C/opt

cd /opt/haproxy-1.5.15
make TARGET=linux26PREFIX=/usr/local/haproxy   //标识64为系统
make install PREFIX=/usr/local/haproxy
  3、配置haproxy配置文件
mkdir /etc/haproxy
  useradd -s /sbin/nologin -Mhaproxy
  cp /opt/haproxy-1.5.15/examples/haproxy.cfg /etc/haproxy/

vi /etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
log 127.0.0.1   local3            
maxconn 204800
chroot /usr/local/haproxy
userhaproxy
group haproxy
daemon
nbproc 1
pidfile /var/run/haproxy.pid
stats socket /usr/local/haproxy/stats
description haproxy server
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
log   global
mode    http
maxconn 10000
optionhttplog
optionhttpclose
optiondontlognull
optionforwardfor      except 127.0.0.0/8
retries 3
option redispatch
option abortonclose
balance roundrobin
timeout http-request    10s
timeout queue         1m
timeout connect         10s
timeout client          1m
timeout server          1m
timeout http-keep-alive 10s
timeout check         10s
#---------------------------------------------------------------------
# use listen setting the haproxy status for site
#---------------------------------------------------------------------
listen admin_status   #设置haproxy监控状态
bind *:8089
mode http
log 127.0.0.1 local3 err
stats refresh 5s
stats uri /status   #监控状态页面访问url
stats realm www.skeryp.com
stats auth admin:admin
stats hide-version
stats admin if TRUE
#---------------------------------------------------------------------
# main listen which proxys to the backends
#---------------------------------------------------------------------
listenwww
bind *:80
maxconn 5000
mode http
log global
option httplog
option httpclose
option forwardfor
log         global
default_backend default   #设置默认访问页面
#定义当请求的内容是静态内容时,将请求转交给static server的acl规则      
acl url_static path_beg-i /static /images /img /javascript /stylesheets
acl url_static path_end-i .jpg .gif .png .css .js .html
acl host_static hdr_beg(host)-i img. video. download. ftp. imags. videos.
#定义当请求的内容是php内容时,将请求转交给php server的acl规则   
acl url_php path_end   -i .php
#定义当请求的内容是.jsp或.do内容时,将请求转交给tomcat server的acl规则   
acl url_jsp path_end   -i .jsp .do
#引用acl匹配规则
use_backend static_pool ifurl_static or host_static
use_backend php_pool    ifurl_php
use_backend tomcat_pool ifurl_jsp
#定义后端backend server
backend static_pool
optionhttpchk GET /index.html
server static1 192.168.80.101:80 cookie id1check inter 2000 rise 2 fall 3
backend php_pool
optionhttpchk GET /info.php
server php1 192.168.80.102:80 cookie id1 check inter 2000 rise 2 fall 3
backend tomcat_pool
optionhttpchk GET /index.jsp
server tomcat1 192.168.80.103:8086 cookie id2 check inter 2000 rise 2 fall 3
#
backend default
mode http
optionhttpchk GET /index.html
server default 192.168.80.104:80 cookie id1 check inter 2000 rise 2 fall 3 maxconn 5000
  192.168.80.101:
1、安装php
yum install -y php

  2、安装php插件

yum install -y \
php-mysql \
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mbstring \
php-bcmath \
php-mhash
  3、修改配置文件

vi /etc/httpd/conf/httpd.conf
ServerName www.aa.com
DirectoryIndex index.html index.php
vi /etc/php.ini
date.timezone = PRC    日期时区=×××
  4、创建一个php网页

cd/var/www/html
vi index.php

  systemctl   start   httpd
  浏览器输入:192.168.80.101
https://s1.运维网.com/images/blog/201901/12/9352a035ac62d49ab08df9c3a1e10a69.png

  192.168.80.102:
1、安装httpd
yuminstall httpd -y

  2、安装上传软件
yum install lrz* -y
  3、修改配置文件

vi /etc/httpd/conf/httpd.conf
ServerName www.aa.com
  4、创建一个img目录,在给img目录里放进去一张图片,在创建一个index.html网页

cd/var/www/html
mkdir img
放进入一张图片,找一张图片直接拉到Xshell
cd ..
viindex.html
静态
  systemctlstarthttpd
浏览器输入:192.168.80.102
192.168.80.102/img/图片名称.格式
https://s1.运维网.com/images/blog/201901/12/70608b053332372e3a31f1501c398ec4.png
https://s1.运维网.com/images/blog/201901/12/d64d04dac99870b0b3fa01dc75994478.png

  192.168.80.103:

  1、安装JAVA
tar xf jdk-8u144-linux-x64.tar.gz

cp -rv jdk1.8.0_144/ /usr/local/java
vi /etc/profile //在文件末尾新增
export JAVA_HOME=/usr/local/java安装路径
export JRE_HOME=/usr/local/java/jre
export PATH=$PATH:/usr/local/java/bin
export CLASSPATH=./:/usr/local/java/lib:/usr/local/java/jre/lib
  source /etc/profile
https://s1.运维网.com/images/blog/201901/12/607ecf5affb8cdfd26a8f34dcc3a5355.png
  2、安装tomcat

cp -r apache-tomcat-8.5.23 /usr/local/tomcat8
ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup
ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown
tomcatup
netstat -anpt | grep 8080
https://s1.运维网.com/images/blog/201901/12/186f8088210bff16ce86886447bc76dc.png
  浏览器输入:192.168.80.103:8080
https://s1.运维网.com/images/blog/201901/12/d3bd2fe8d65732a6bd1ae35ad5b0bb2b.png
  测试:浏览器中输入
192.168.80.100:8089/status   统计页面
https://s1.运维网.com/images/blog/201901/12/a6e533991e9d8d07f430d72bc05a52bd.png
浏览器中输入:192.168.80.100/index.php
https://s1.运维网.com/images/blog/201901/12/9c15367d359dfb314b784d9b6adc18d0.png
192.168.80.100/img/图片名称.格式
https://s1.运维网.com/images/blog/201901/12/f63c7f2e20df8598d6a9d55c57b25ba2.png
192.168.80.100/index.jsp
https://s1.运维网.com/images/blog/201901/12/7401d9e013de219588fd288356746378.png



页: [1]
查看完整版本: Centos7 haproxy动静分离