1、ip地址操作系统硬件信息m-proxy1反向代理服务器172.18.109.232Centos6.5/64双核/2G内存m-proxy2备反向代理服务器172.18.109.234web1网站服务器1提供读写分离172.18.109.235web2网站服务器2提供session共享172.18.109.236mysql1主数据库服务器172.18.109.237mysql2从数据库服务器172.18.109.238admin管理服务器提供备份、装机、监控、web网页分发功能172.18.109.239四核/8G内存2.网站平台项目拓扑图网站平台整体拓扑如下:三.构建服务器集群网站平台1.安装管
2、理服务器admin1.1安装并初始化系统1)光盘安装操作系统启动一台服务器,使用光盘安装CentOS6.5操作系统,安装类型为基本安装(安装过程略)。2)初始化系统操作系统安装完成后,配置/etc/sysconfig/network-scripts/ifcfg-eth0网卡配置文件。修改IP为172.18.109.239,网关为172.18.109.254指向路由器的地址。(集群服务器的所有数据通过路由器转发出去),网卡部分主要的配置如下:ONBOOT=yesBOOTPROTO=noneIPADDR=172.18.109.239NETMASK=255.255.255.0GATEWAY=172.
3、18.109.254关闭防火墙和SElinux,修改主机名chkconfig iptables off;/etc/init.d/iptables stopsetenforce 0; sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/configvi /etc/sysconfig/network修改HOSTNAME=localhost为HOSTNAME=admin1.2管理服务器安装kickstart由于服务器过多,可以在管理服务器上搭建kickstart来自动安装其余的集群服务器,减少手工操作。1)安装配置DHCP服务器使用y
4、um安装DHCP服务器yum -y install dhcp2)配置dhcp服务器cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.confvi !$添加下列参数:subnet 172.18.109.0 netmask 255.255.255.0 range 172.18 109.100 172.18.109.249;option domain-name-servers 61.139.2.69;option routers 172.18.109.254;option broadcast-address 172.18.1
5、09.255;default-lease-time 600;max-lease-time 7200;next-server 172.18.109.241;filename “pxelinux.0”;chkconfig dhcpd onservice dhcpd start3)安装配置tftpyum -y install tftp tftp-server xinetd修改tftp配置文件,指定共享目录和开机启动v i /etc/xinetd.d/tftp修改的内容:server_args = -s /tftpbootdisable = no挂载光盘,并拷贝光盘中的文件和kickstart文件到t
6、ftp共享目录下,并配置引导启动文件,过程代码如下:yum -y install system-config-kickstart glib2-delvelmkdir /mnt/sr0 mkdir -p /tftpboot/pxelinux.cfgmount /dev/sr0 /mnt/sr0cp /usr/share/syslinux/pxelinux.0 /tftpboot/cp /mnt/sr0/images/pxeboot/initrd.img /tftpboot/cp /mnt/sr0/images/pxeboot/vmlinuz /tftpboot/cp /mnt/sr0/isoli
7、nux/isolinux.cfg /tftpboot/pxelinux.cfg/defaultchmod 644 /tftpboot/pxelinux.cfg/default配置tftp共享目录中的引导启动配置文件vim /tftpboot/pxelinux.cfg/default修改第一行:default vesamenu.c32 linux在lable linux项下,最后添加ks=ftp:/172.18.109.241/ks.cfgservice xinetd start4)安装vsftp服务yum -y inysall vsftpdchkconfig vsftpd startservi
8、ce vsftpd start5)配置kickstartsystem-config-kickstart进入图形界面配置系统安装所需操作(配置过程略),配置完成后,在”安装后脚本”此步,使用/bin/bash解释器,编写一个脚本来关闭iptables和selinux,脚本内容如下:完成后,生成配置文件ks.cfg,将配置文件拷贝到ftp共享目录中,并为ftp准备挂载好系统安装文件cp /root/ks.cfg /var/ftpumount /dev/sr0mount /dev/sr0 /var/ftp/pubecho mount /dev/sr0 /var/ftp/pub/ /etc/rc.lo
9、cal service vsftpd restart2.搭建反向代理主备服务器反向代理服务器作为网站平台的前端,负责将web用户的请求按轮询方式发送给后端的真实服务器,并将静态请求交给nginx服务器,动态请求提交给后端的apache服务器。服务器使用nginx在网络模型第七层提供负载均衡功能。搭建步骤如下:2.1配置反向代理主服务器1)安装系统、配置IP修改bios中启动项为网络开机启动,自动连接到管理服务器使用kickstart安装好操作系统。安装完成后,修改bios启动项,进入操作系统。修改网卡配置文件,修改ip为172.18.109.232(修改方式和其他网卡参数参照admin服务器的
10、网卡配置)2)安装nginx使用yum解决nginx依赖包groupadd wwwuseradd -s /sbin/nologin -g www wwwyum -y install gcc gcc-c+ autoconf automake zlib zlib-devel openssl openssl-devel pcre*xftp上传nginx源码安装包,编译安装nginxtar -zxvf nginx-1.8.1.tar.gzcd nginx-1.8.1/./configure -user=www -group=www -prefix=/usr/local/nginx -with-http
11、_stub_status_module -with-http_ssl_module -with-http_gzip_static_module -with-ipv6 -with-pcre make & make install3)配置nginx进行反向代理和负载均衡nginx的静态并发处理能力比apache要好,但是动态处理不如apache,所以将静态的web请求交给nginx服务器处理,而动态的php请求交给后端的两个apache服务器轮流处理。配置过程如下:新建一个配置文件 vi /usr/local/nginx/conf/proxy.conf 配置文件内容如下upstream web #
12、ip_hashserver 172.18.109.235:80 weight=1 max_fails=2 fail_timeout=30s;server 172.18.109.236: server listen 80;server_name ;index index.html index.htm index.php;root /home/wwwroot/default;#网页文件主目录location .*.(php|php5)?$proxy_next_upstream http_502 http_504 error timeout invalid_header;proxy_set_head
13、er Host $host;proxy_set_header X-Forwarded-For $remote_addr;#使后端apache能获得访问者的ip地址proxy_http_version 1.1#proxy_redirect off;#proxy_pass端口不为80时,使用proxy_pass http:/web;在主配置文件中引用此配置文件:vi /usr/local/nginx/conf/nginx.conf第一行添加参数,使nginx使用www用户运行user www www在字段http. .括号中修改:删除字段server . .在http. .括号中末尾,添加incl
14、ude proxy.conf;创建网页目录,并添加权限mkdir -p /home/wwwroot/defaultsetfacl -m u:www:rwx -R /home/wwwroot/default4)安装和配置keepalived为了防止前端服务器宕机出现业务中断,造成不必要的损失。所以使用keepalived来实现反向代理服务器的高可用。安装过程如下:上传keepalived源码安装包到服务器上yum -y install kernel-develln -s /usr/src/kernels/2.6.32-642.13.1.el6.i686/ /usr/src/linux/tar -
15、zxvf keepalived-1.2.15.tar.gz cd keepalived-1.2.15./configuremkdir /etc/keepalivedcp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/cp /usr/local/sbin/keepalived /usr/sbin/配置keepaliv
16、ed配置文件:vim /etc/keepalived/keepalived.conf修改如下:service keepalived startchkconfig keepalived on查看vip是否添加:ip add2.2配置备反向代理服务器备服务器和服务器基本相同:1)重复主反向代理服务器前5步骤修改网卡配置文件时,修改ip为172.18.109.2342)配置keepalived配置文件备服务器配置keepalived配置文件,如下3.安装网站服务器web1和web2网站服务器web1和web2作为处理动态php请求的服务器,使用apache作为网站服务器。3.1 安装网站服务器web
17、11)安装操作系统修改bios中启动项为网络开机启动,自动连接到管理服务器使用kickstart 安装好操作系统。修改网卡配置文件,修改ip为172.18.109.235(修改方式和其他网卡参数参照admin服务器的网卡配置)2)安装和配置apache服务器首先xftp上传安装apache服务器所需依赖包:apr-1.4.6.tar.gz、apr-util-1.4.1.tar.gz、pcre-8.34.tar.gzyum -y install make gcc gcc-c+ openssl openssl-develtar -zxvf apr-1.4.6.tar.gzcd apr-1.4.6.
18、/configure -prefix=/usr/local/aprtar -zxvf apr-util-1.4.1.tar.gzcd apr-util-1.4.1./configure -prefix=/usr/local/apr-util/ -with-apr=/usr/local/apr/bin/apr-1-configtar -zxvf pcre-8.34.tar.gzcd pcre-8.34./configure -prefix=/usr/local/pcrexftp上传apache安装包:httpd-2.4.7.tar.gztar -zxvf httpd-2.4.7.tar.gzcd
19、 httpd-2.4.7./configure -prefix=/usr/local/apache -enable-so -enable-rewrite -enable-ssl -with-apr=/usr/local/apr -with-apr-util=/usr/local/apr-util/ -with-pcre=/usr/local/pcre/生成启动脚本:cp /usr/local/apache/bin/apachectl /etc/init.d/httpd修改/etc/init.d/httpd脚本文件vim /etc/init.d/httpd在#/bin/bash下添加2行:启动关
20、闭顺序和描述行,内容如下:#chkconfig:345 66 33#description:apache server修改完成后chkconfig -add httpdchkconfig httpd on修改apache主配置文件,指定网站文件目录vim /usr/local/apache/conf/httpd.conf修改DocumentRoot /usr/local/apache/htdocs为DocumentRoot /home/wwwroot/default修改Directory DirectoryIndex index.html /IfModule为: DirectoryIndex
21、index.html index.php生成测试文件echo “ /home/wwwroot/default/index.phpservice httpd restart在浏览器输入服务器ip地址,查看php文件是否解析成功4)安装memcache当使用session登录的用户,多个动态请求经过反向代理服务器的负载均衡作用,分别请求在两台不同的web服务器上时,由于session只保存在其中一台web服务器上,会造成用户的自动登出。因此需要将session共享在2个服务器上,使服务器可以同时读取到用户的session。使用memcache服务进行session共享,基于内存的存储可以达到ses
22、sion的快速读取,降低用户登录时需要的时间。xftp上传memcache源码包解决依赖包yum -y install zlib-develtar -zxvf memcache-3.0.8cd memcache-3.0.8/usr/local/php/bin/phpize./configure -with-php-config=/usr/local/php/bin/php-config修改php.ini配置文件,加载memcache模块,并且指定session存放位置vi /usr/local/php/etc/php.ini修改; extension_dir = ./extension_dir
23、 = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/并在其下添加一行extension=memcache.so;修改session.save_handler = files为session.save_handler = memcache session.save_path = tcp:/172.18.109.236:11211#ip地址为session服务端的地址重启apache服务器刷新apache测试页,可以看到memcache模块5)安装读写分离mysql-proxy读写分离,使mysql主库进行数据增、删、改操作,mys
24、ql从库进行查询操作。而数据库主从复制把事务性查询导致的变更同步到集群中的从库。安装依赖包和mysql-server环境yum -y install lua mysql-serverxftp上传mysql-proxy软件包tar -zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local/cd /usr/localmv mysql-proxy-0.8.5-linux-el6-x86-64bit/ mysql-proxy将mysq-proxy执行命令写入环境变量export PATH=/usr/local/mysql-proxy/bin/:/usr/local/mysql/bin:$PATH/etc/profile
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1