Nginx LB+keepalived+varnish+NAMP架构部署wordpress实现动静分离
2017-07-16 23:51
1166 查看
Nginxproxy+varnish
Nginx负载均衡它可基于四层和七层之间进行调度,而且对后端各个节点具有健康状态检测的功能,当后端服务器故障时,会自动标记为不可用状态,当后端节点上线时再将请求调度至此节点,配合keepalived利用飘移IP,高可用保证调度器的实时在线。为保证热区数据的快速响应配合varnish缓存加速,并实现动静分离。
案例架构拓扑如下:
拓扑环境如下:前端:Nginx+keepalived高可用
调度服务器:Varnish1、Varnish2
缓存服务器:Varnish
1、VarnishServer两台
2、动静分离后端服务器,并动静都提供负载均衡效果
后端服务器:
NginxStaticWebServer+NFS-client
AMP DynamicWebServer+NFS-server
1.安装nginx和keepalived后做keepalived配置如下:
3.后端Varnish-server配置如下:
4.AMP将httpd,mariadb-server,php-mysql,php安装后httpd的配置如下:
6.配置Nginx static web server配置如下:
以上内容还有待完善。
Nginx负载均衡它可基于四层和七层之间进行调度,而且对后端各个节点具有健康状态检测的功能,当后端服务器故障时,会自动标记为不可用状态,当后端节点上线时再将请求调度至此节点,配合keepalived利用飘移IP,高可用保证调度器的实时在线。为保证热区数据的快速响应配合varnish缓存加速,并实现动静分离。
案例架构拓扑如下:
拓扑环境如下:前端:Nginx+keepalived高可用
调度服务器:Varnish1、Varnish2
缓存服务器:Varnish
1、VarnishServer两台
2、动静分离后端服务器,并动静都提供负载均衡效果
后端服务器:
NginxStaticWebServer+NFS-client
AMP DynamicWebServer+NFS-server
1.安装nginx和keepalived后做keepalived配置如下:
! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node2 vrrp_mcast_group4 224.0.234.123 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 36 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 335566 } virtual_ipaddress { 192.168.1.98/24 dev eth0 } } vrrp_instance VI_2 { state BACKUP interface eth0 virtual_router_id 37 priority 99 advert_int 1 authentication { auth_type PASS auth_pass 33556677 } virtual_ipaddress { 192.168.1.99/24 dev eth0 } } #notify_master "/etc/keepalived/notify.sh master" #notify_backup "/etc/keepalived/notify.sh backup" #notify_fault "/etc/keepalived/nofify.sh fault" }Nginx负载均衡简单配置如下:
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } stream { upstream nasrvs { server 192.168.5.107:80; server 192.168.5.108:80; } server { listen 80; proxy_pass nasrvs; proxy_timeout 60s; proxy_connect_timeout 10s; } }另一台Nginx负载均衡及keepalived基本配置相同更改相应的参数即可。
3.后端Varnish-server配置如下:
vcl 4.0; # Default backend definition. Set this to point to your content server. backend default { .host = "192.168.20.109"; .port = "80"; } backend nginxsrvs { .host = "192.168.20.108"; .port = "80"; } sub vcl_recv { # Happens before we check if we have this in cache already. # # Typically you clean up the request here, removing cookies you don't need, # rewriting the request, etc. if (req.method == "PURGE") { return(purge); } if (req.url ~ "(?i)\.(css|svg|js|jpg|jpeg|png|gif|pdf)") { set req.backend_hint = nginxsrvs; } else { set req.backend_hint = default; } } sub vcl_purge { return (synth(200,"Purged")); } sub vcl_deliver { if (obj.hits>0) { set resp.http.X-Cache = "HIT via " + server.ip; } else { set resp.http.X-Cache = "Miss via " + server.ip; }两台varnishserver的配置基本一致,更改相应的参数即可。
4.AMP将httpd,mariadb-server,php-mysql,php安装后httpd的配置如下:
<VirtualHost *:80> DirectoryIndex index.php index.html ServerName www.abc.com DocumentRoot /apps/data/wordpress <Directory "/apps/data/"> Options FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost>5.创建/apps/data目录后将wordpress的程序文件解压缩至此目录在mariadb中创建库及账号,此前文章有介绍到wordpress的部署方法。并配置nfs编辑/etc/exports文件如下:
/apps/data *(rw,all_squash,anonuid=48)执行exportfs -ar导出所有目录
6.配置Nginx static web server配置如下:
server { listen 80; server_name www.abc.com; location / { root /apps/data/wordpress; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} }7.NFS-client的配置将NFS-server的导出目录挂载至/apps/data编辑/etc/fstab:
192.168.20.109:/apps/data /apps/data nfs rw,defaults 0 0整个配置完成做一下测试访问:
以上内容还有待完善。
相关文章推荐
- keepalived高可用haproxy配合varnish实现wordpress的动静分离
- 实验:部署实现nginx在http上的动静分离和负载均衡
- nginx+fastcgi实现动静分离架构
- nginx反代varnish缓存服务器实现后端amp动静分离架构
- nginx+tomcat实现动静分离架构
- Tomcat(三) Tomcat安装配置:Tomcat+Nginx+keepalived 实现动静分离、Session会话保持的高可用集群
- Nginx+Varnish 实现动静分离,为服务器分流,降低服务器负载
- Haproxy+Keepalived+Varnish+LAMP+Memcacked+NFS 实现web站点的动静分离
- Nginx+Varnish 实现动静分离,为服务器分流,降低服务器负载
- Tomcat(三) Tomcat安装配置: Tomcat+Nginx+keepalived 实现动静分离、Session会话保持的高可用集群
- keepalived(nginx)+httpd实现动静分离
- Nginx(四):LNMMP架构实现Web动静分离
- HAProxy+Varnish+LNMP实现高可用负载均衡动静分离集群部署
- Nginx+Varnish 实现动静分离,为服务器分流,降低服务器负载
- nginx+Tomcat实现动静分离架构
- HAProxy+Varnish+LNMP实现高可用负载均衡动静分离集群部署 推荐
- 基于Keepalived+Varnish+Nginx实现的高可用LAMP架构
- HAProxy+Varnish+LNMP实现高可用负载均衡动静分离集群部署
- 分布式架构高可用架构_Keepalived+Nginx实现高可用Web负载均衡
- 如何构建Keepalived+HAProxy实现高可用,负载均衡,动静分离。