CentOS7 上部署Haproxy及Nginx 搭建Web群集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 上部署Haproxy及Nginx 搭建Web群集相关的知识,希望对你有一定的参考价值。
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理,可以运行于大部分主流的Linux操作系统上。
本次实验使用三台服务器搭建Web群集,Haproxy作为调度服务器,两台nginx服务器作为节点服务器。
实验环境
主机 | 系统 | IP地址 | 只要软件
主机 | 系统 | IP地址 | 主要软件 |
---|---|---|---|
haproxy服务器 | CentOS-7-x86_64 | 192.168.100.101 | haproxy |
Nginx 服务器 | CentOS-7-x86_64 | 192.168.100.102 | nginx |
Nginx服务器 | CentOS-7-x86_64 | 192.168.100.103 | nginx |
客户端 | Windows | 192.168.100.100 | IE浏览器 |
安装nginxf服务器
- 安装便编译环境
yum -y install pcre-devel zlib-devel gcc gcc-c++ make -y useradd -M -s /sbin/nologin nginx //为其创建管理用户 tar zxvf nginx-1.12.0.tar.gz -C /opt/ //解压 ./configure --prefix=/usr/local/nginx //安装路径 --user=nginx //指定管理用户 --group=nginx //为其编译 //指定管理组 make && make install //安装 cd /usr/local/nginx/html/ //存放首页路径 vim index.html //修改它也行从新生成一个也可也 echo "this is nginx 1!!" > tast.html //但访问的是后面要加tast如 http://127.0.0.1/tast ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建软连接,方便管理 nginx -t //检查配置文件是否正确 nginx //启动服务 netstat -ntap | grep 80 //查看服务是否正确开启 关闭防火墙 systemctl disable firewalld.service systemctl stop firewalld.service setenforce 0
自测 两台同要的同样的配置
调度服务器配置
- 安装haproxy软件 编译环境
yum -y install pcre-devel bzip2-devel gcc gcc-c++ make tar zxf haproxy-1.5.19.tar.gz cd haproxy-1.5.19/ make TARGET=linux26 //安装64位系统 make install
配置haproxy服务器
mkdir /etc/haproxy cp haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/haproxy.cfg cd /etc/haproxy/ vim haproxy.cfg //修改其配置文件 global log 127.0.0.1 local0 // 日志格式 和系统日志保存在一起 log 127.0.0.1 local1 notice //notice 日志级别 #log loghost local0 info maxconn 4096 //最大链接数 chroot /usr/share/haproxy //删除 uid 99 gid 99 daemon #debug #quiet defaults log global mode http option httplog //写的日志文件格式安装httpd 的格式写 option dontlognull retries 3 //尝试次数 3次 如果链接不上就认为不可用 redispatch //删除 maxconn 2000 contimeout 5000 //最大链接 clitimeout 50000 srvtimeout 50000 //超时 将listen部分修改为以下内容 listen webcluster 0.0.0.0:80 //指定节点服务 option httpchk GET /test.html //GET 提交方式 访问时候后面加test.html balance roundrobin server inst1 192.168.100.102:80 check inter 2000 fall 3 server inst2 192.168.100.103:80 check inter 2000 fall 3 cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy //启动脚本 service haproxy start //启动服务 然后就可以访问 多次涮新,nginx1和nginx2网页轮换显示。
haproxy的日志优化
- Haproxy的日志默认输出到系统的syslog中。查看起来不是很方便,为了更好的管理haproxy的日志,我们需要将日志单独定义出来
vim /etc/haproxy/haproxy.cfg log /dev/log local0 info //信息提示个告警分离开 log /dev/log local0 notice // 删除原有的 替换 service haproxy restart
touch /etc/rsyslog.d/haproxy.conf
vim /etc/rsyslog.d/haproxy.conf //插入下面的话
if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘info‘) //更具类型 形似 进行离
then -/var/log/haproxy/haproxy-info.log
&~
if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘notice‘)
then -/var/log/haproxy/haproxy-notice.log
&~
systemctl restart rsyslog.service
以上是关于CentOS7 上部署Haproxy及Nginx 搭建Web群集的主要内容,如果未能解决你的问题,请参考以下文章
centos7(Linux)部署nginx+HAProxy+nfs
centos 7 部署haproxy+nginx+nfs服务
Centos 7 安装部署 nginx+haproxy+nfs 的部署方法