设为首页 收藏本站
查看: 1511|回复: 0

[经验分享] Centos7 haproxy动静分离

[复制链接]

尚未签到

发表于 2019-2-15 11:53:51 | 显示全部楼层 |阅读模式
Centos7 haproxy动静分离

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

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

cd /opt/haproxy-1.5.15
make TARGET=linux26  PREFIX=/usr/local/haproxy     //标识64为系统
make install PREFIX=/usr/local/haproxy
  3、配置haproxy配置文件
mkdir /etc/haproxy
  useradd -s /sbin/nologin -M  haproxy
  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
user  haproxy
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
option  httplog
option  httpclose
option  dontlognull
option  forwardfor      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
#---------------------------------------------------------------------
listen  www
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 if  url_static or host_static
use_backend php_pool    if  url_php
use_backend tomcat_pool if  url_jsp
#定义后端backend server
backend static_pool
option  httpchk GET /index.html
server static1 192.168.80.101:80 cookie id1  check inter 2000 rise 2 fall 3
backend php_pool
option  httpchk GET /info.php
server php1 192.168.80.102:80 cookie id1 check inter 2000 rise 2 fall 3
backend tomcat_pool
option  httpchk GET /index.jsp
server tomcat1 192.168.80.103:8086 cookie id2 check inter 2000 rise 2 fall 3
#
backend default
mode http
option  httpchk 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


  192.168.80.102:
1、安装httpd
yum  install 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 ..
vi  index.html
静态
  systemctl  start  httpd
浏览器输入:192.168.80.102
192.168.80.102/img/图片名称.格式



  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

  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

  浏览器输入:192.168.80.103:8080

  测试:浏览器中输入
192.168.80.100:8089/status     统计页面

浏览器中输入:192.168.80.100/index.php

192.168.80.100/img/图片名称.格式

192.168.80.100/index.jsp





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-672386-1-1.html 上篇帖子: Centos7 源码编译安装haproxy 下篇帖子: Centos7安装Miniconda及配置jupyter
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表