这里用haproxy搭建一个动静分离的集群,数据格式要求varnish作为缓存文件。我们准备搭建图1.1的集群,但是手头没有足够的设备,只能委屈一下。我们要把动态服务器和静态数据服务器(主要是懒人)结合起来,一起查询数据库,共享文档,如图1.2所示。
图1.1
图1.2
文件服务器设备
#安裝mysqld和nfs服务器 yum install mysql-server nfs-utils -y #出示网页源代码 mkdir /wordpress wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip unzip Discuz_X3.2_SC_UTF8.zip -d /wordpress chown -R apache:apache /wordpress cat > /etc/exports <<eof /wordpress 172.16.0.0/16(rw,no_root_squash) eof service nfs start #出示数据库查询 service mysqld start mysql <<eof grant all privileges on wpdb.* to wpuser@'172.16.29.%'identified by "wppass"; eofRs服务器配置
yum install nfs-utils httpd php php-mysql -y cat >> /etc/fstab <<eof 172.16.29.1:/wordpress /wordpress nfs defaults 0 0 eof mkdir /wordpress mount -a #下列是出示httpd环境变量 vim /etc/httpd/conf/httpd.conf #把DocumentRoot "/var/www/html"改为以下 DocumentRoot "/wordpress/upload" #把<Directory "/var/www/html">改成以下內容 <Directory "/wordpress"> #把DirectoryIndex index.html改为以下內容 DirectoryIndex index.php index.html #起动服务项目 systemctl start httpd.servicevarnish服务器配置
yum install varnish -y vim /etc/varnish/varnish.params #把VARNISH_STORAGE="file,/var/lib/varnish/varnish_storage.bin,2GB"改成以下內容,意思是应用512m的运行内存开展缓存文件 VARNISH_STORAGE="malloc,512m" cat > /etc/varnish/default.vcl <<eof #出示以下环境变量 vcl 4.0; import directors; backend default { .host = "127.0.0.1"; .port = "8080"; } #界定后端开发服务器情况检验体制 probe check { .url = "/robots.txt"; .window = 5; .threshold = 3; .interval = 2s; .timeout = 1s; } #界定2个服务器 backend server1 { .host = "172.16.29.10"; .port = "80"; .probe = check; } backend server2 { .host = "172.16.29.20"; .port = "80"; .probe = check; } #界定2个服务器的生产调度优化算法 sub vcl_init { new static = directors.round_robin(); static.add_backend(server1); static.add_backend(server2); } #界定击中 sub vcl_recv { set req.backend_hint = static.backend(); } sub vcl_backend_response { } sub vcl_deliver { } eofHaproxy服务器通用设备
两个haproxy服务器的keepalived的环境变量略有不同,请注意注释信息
这里对haproxy的详细介绍并不详尽。请参考本博客http://www.cnblogs.com/dkblog/archive/2012/03/13/2393321.html或官网文本文档。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)