六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 1617|回复: 0

haproxy + varnish + nginx + fastCGi + mysql 搭建高可用web集群服...

[复制链接]
 楼主| 发表于 2014-11-28 14:49:06 | 显示全部楼层 |阅读模式
linux下haproxy + varnish + nginx + fastCGi + mysql 搭建高可用web集群服务器(一)

为了实现集群的目标,计划搭建上图所示的web架构。
各种软件都是免费开源的,
目的是以最小的成本建立有一定的高并发处理能力并且容易扩展、高可用的web集群服务器。
初步确定总共需要8台服务器,各服务器的功用如下:
haproxy服务器
172.26.11.70
varnish服务器(cache server)
172.26.11.71
172.26.11.72
nginx web服务器
172.26.11.73 (前台)–读76的mysql/写75的mysql
172.26.11.74 (前台)–读76的mysql/写75的mysql
172.26.11.77 (后台)–连75的mysql
mysql服务器
172.26.11.75 (master)
172.26.11.76 (slave)
以上服务器均采用centos6.4 64bit 最小安装模式安装。
关于安装操作系统的过程,本文不详细说了,
需要的可看我的这篇文章:http://blog.zhuyin.org/748.html
以下是具体实现步骤:
一、172.26.11.70 安装haproxy服务
  1. mkdir -p /data/software
  2. mkdir -p /data/src
  3. mkdir -p /data/conf
  4. mkdir -p /data/logs
  5. yum -y install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel  gettext-devel
  6. yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool

  7. cd /data/software/
  8. wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.23.tar.gz
  9. cd /data/src/
  10. tar zxf ../software/haproxy-1.4.23.tar.gz
  11. cd haproxy-1.4.23/
  12. make TARGET=linux26 PREFIX=/usr/local/haprpxy
  13. make install PREFIX=/usr/local/haproxy

  14. mkdir -p /usr/local/haproxy/run/
  15. mkdir -p /data/log/
复制代码
cd /usr/local/haproxy
vi haproxy.cfg
  1. global
  2.         log 127.0.0.1 local3 info
  3.         maxconn 4096
  4.         chroot /usr/local/haproxy
  5.         uid haproxy
  6.         gid haproxy
  7.         daemon
  8.         nbproc 1
  9.         pidfile /usr/local/haproxy/run/haproxy.pid
  10.         #debug
  11.         #quiet

  12. defaults
  13.         log global
  14.         mode    http
  15.         option  httplog
  16.         option  dontlognull
  17.         retries 3
  18.         option redispatch
  19.         maxconn 20000
  20.         contimeout      5000
  21.         clitimeout      50000
  22.         srvtimeout      50000

  23. listen phpcms203.ijie.com 0.0.0.0:80
  24.        mode http
  25.        log 127.0.0.1 local3 info
  26.        stats uri /haproxy
  27.        stats realm Haproxy\ statistics
  28.        stats auth admin:admin
  29.        balance roundrobin
  30.        option httpclose
  31.        option forwardfor
  32. server app1_1 172.26.11.71:80 cookie app1inst1 check inter 2000 rise 2 fall 5
  33. server app1_2 172.26.11.72:80 cookie app1inst2 check inter 2000 rise 2 fall 5
复制代码
然后设置快速启动等脚本
  1. useradd -s /sbin/nologin haproxy
  2. echo '/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/run/haproxy.pid`' > /root/haproxy_start
  3. echo '/root/haproxy_stop
  4. /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/run/haproxy.pid`'> /root/haproxy_restart
  5. echo 'killall haproxy'> /root/haproxy_stop
  6. chmod +x /root/haproxy*

  7. 启动haproxy:
  8. /root/haproxy_start

  9. #配置日志
  10. echo 'local3.* /var/log/haproxy.log'>> /etc/rsyslog.conf
  11. vi /etc/sysconfig/rsyslog
  12. SYSLOGD_OPTIONS="-a 127.0.0.1/32:* -a localhost:* -a 192.168.222.0/16:*"
  13. #重启核心日志服务使配置起效
  14. /etc/init.d/rsyslog restart
  15. #然后就可查看日志了
  16. tail –f /var/log/haproxy.log
复制代码
#http//yourhost/haproxy 可以检查haproxy的运行状态 如下图:

[size=14.4444446563721px]linux下haproxy + varnish + nginx + fastCGi + mysql 搭建高可用web集群服务器(一)
摘自:http://blog.zhuyin.org/713.html | 拒绝平庸的技术博客

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博账号登陆

x
该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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