haproxy动静分离
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了haproxy动静分离相关的知识,希望对你有一定的参考价值。
在80.100虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install lrz* -y //安装上传软件
tar xf haproxy-1.5.15.tar.gz -C /opt/ //解压压缩包到/opt/
cd /opt/haproxy-1.5.15/ //进入/opt/haproxy-1.5.15/
yum install -y
pcre-devel
bzip2-devel
gcc
gcc-c++
make
uname -r
make TARGET=linux26 PREFIX=/usr/local/haproxy //标识64为系统
make install PREFIX=/usr/local/haproxy
mkdir /etc/haproxy //创建目录
useradd -s /sbin/nologin -M haproxy //创建用户
id haproxy //查看用户信息
cd examples/ //进入examples/
cp haproxy.cfg /etc/haproxy/ //拷贝到/etc/haproxy/
cd /etc/haproxy/ //进入cd /etc/haproxy/
vi haproxy.cfg //进入vi haproxy.cfg文件
把里面全删了添加
#this config needs haproxy-1.1.28 or haproxy-1.2.1
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info //定义haproxy 日志级别
maxconn 4096 //可以接收的最大并发连接数
#chroot /usr/share/haproxy //工作目录
uid 1001 //运行的程序用户
gid 1001 //运行的程序用户组
daemon //创建1个进程进入deamon模式运行,以后台形式运行harpoxy
#debug
#quiet
defaults
log global //定义日志,采用全局定义
mode http //所处理的类别,tcp是四层,http是七层,health只会返回OK,若是混合模式则mode不需要设置
option httplog //每次请求完毕后主动关闭http通道
option dontlognull //不记录健康检查的日志信息
retries 3
redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen admin_stats //为haproxy访问状态监控页面配置,取名为admin_stats
bind 0.0.0.0:8089 //监听端口
stats enable //启用监听端口
mode http //http的7层模式
log global // 继承global中log的定义
stats uri /stats //监控页面的url访问路径,即http://ip/stats访问监控页面
stats realm Haproxy Statistics //监控页面的密码框提示信息
stats auth admin:admin //监控页面的用户和密码admin,可以设置多个用户名
#stats hide-version //隐藏统计页面上HAProxy的版本信息
stats admin if TRUE //当通过认证才可管理
stats refresh 30s //页面自动刷新时间30s
:wq //保存退出
cd -
cp haproxy.init /etc/init.d/haproxy //拷贝到/etc/init.d/haproxy
ll /etc/init.d/haproxy //查看这个文件有哪些权限
chmod +x /etc/init.d/haproxy //给这个文件x权限
ll /etc/init.d/haproxy //查看这个文件有哪些权限
chkconfig --add haproxy
在百度上192.168.80.100:8089/stats
vi /etc/haproxy/haproxy.cfg
#最后一行添加
listen www
bind *:80
maxconn 5000
mode http
log global
option httplog
option httpclose
option forwardfor
log global
default_backend default #设置默认访问页面
#jingtai
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
acl url_php path_end -i .php
#jsp
acl url_jsp path_end -i .jsp .do
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 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 /index.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:8080 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
:wq //保存退出
service haproxy stop //关闭haproxy服务
service haproxy start //开启haproxy服务
在80.101虚拟机上
systemctl stop firewalld
setenforce 0
yum install httpd -y
vi /etc/httpd/conf/httpd.conf
找到ServerName www.example.com:80吧#去掉
:wq //保存退出
cd /var/www/html/ //进入这个目录
yum install lrz* -y //安装上传软件
往这个目录拖进一个图片图片名是error.jpg
systemctl start httpd //重启httpd服务
百度搜192.168.80.101/error.jpg
mkdir img //在当前目录下创建img目录
mv error.jpg img/ //把图片移动到img目录里面
vi index.html //创建并进入
<h1>server aa</h1>
:wq //保存退出
在80.102虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y //安装httpd服务
vi /etc/httpd/conf/httpd.conf //进入这个配置文件
找到ServerName www.example.com:80吧#去掉
找到DirectoryIndex index.html在后面添加index.php
:wq //保存退出
安装组件是php支持mysql
yum install -y
php-mysql
php-gd
libjpeg*
php-ldap
php-odbc
php-pear
php-xml
php-xmlrpc
php-mbstring
php-bcmath
php-mhash
vi /etc/php.ini //进入这个配置文件
找到;date.timezone =把;去掉在后面添加PRC
date.timezone = PRC 日期时区=×××
:wq //保存退出
yum install -y php //安装PHP服务
cd /var/www/html/ //进入这个目录
vi index.php //进入这个文件
<?php
phpinfo();
?>
:wq //保存退出
systemctl start httpd //重启服务
百度搜192.168.80.102
在80.103虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install lrz* -y //安装上传软件
把这两个选中的软件包拖进去
tar xf jdk-8u144-linux-x64.tar.gz -C /opt/ //解压到/opt/
tar xf apache-tomcat-8.5.23.tar.gz -C /opt/ //解压到/opt/
cd /opt/ //进入目录
cp -rf jdk1.8.0_144/ /usr/local/java //拷贝一份到/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
:wq //保存退出
source /etc/profile
java -version
cp -rf apache-tomcat-8.5.23/ /usr/local/tomcat8 //拷贝一份到 /usr/local/tomcat8
ln -s /usr/local/tomcat8/bin/startup.sh /usr/sbin/tomcatup //软链接
ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/sbin/tomcatdown //软链接
tomcatup
百度搜192.168.80.103:8080
结果百度搜192.168.80.100:8089/stats
搜192.168.80.100/img/error.jpg
搜192.168.80.100/index.php
搜192.168.80.100/index.jsp
以上是关于haproxy动静分离的主要内容,如果未能解决你的问题,请参考以下文章