day042-负载均衡与web集群搭建
文章目录
- 0. 老男孩思想-面试官问:你对加班的看法?
- 1. 负载均衡
- 2. 搭建负载均衡的WordPress集群
- 2.1 负载均衡服务器
- 2.2 配置web服务器
- 2.3 测试
- 踩坑记录
- 1. /var/cache/nginx权限问题
0. 老男孩思想-面试官问:你对加班的看法?
- 互联网公司没有不加班的,既然我选择了互联网公司,我完全可以加班
- 学无止境,我需要不断的去学习新的知识,学习公司需要使用的技术;我一般没事的时候或是晚上也会学习,所以在家学习或在公司加班学习对我来说都一样
- 接触工作越多我的成长就越快,经验积累的就越多,我可以接受加班
30岁之前不加班,30岁之后连加班的机会也没有
1. 负载均衡
- 负载均衡:load balance
- 应用场景:web服务器有多台的情况,用户的请求尽可能平均分布在不同web服务器上
- 负载均衡服务器一般是网站流量入口
负载均衡 | 说明 | 应用场景 |
---|---|---|
开源软件 | nginx(web/负载均衡/缓存)、tengine、OpenResty(lua) | 主要使用、使用简单 |
专业负载均衡软件 开源软件 | haproxy(专业的负载均衡软件) | 负载均衡功能比nginx强大 |
lvs(专业负载均衡软件、性能要求高) | 适用于高并发场景; 并发性能好,维护较为复杂 | |
硬件负载均衡 | F5 | 成本高、最好成对 |
云产品 | 云服务器上的负载均衡产品 | 可以使用云产品也可在云上自建负载均衡 |
2. 搭建负载均衡的WordPress集群
2.1 负载均衡服务器
- 安装nginx服务,添加网站的子配置文件:
[root@lb01 /etc/nginx/conf.d]# cat blog.oldboy.cn.conf
# 创建分组/池塘,web服务器地址
# 分组名字唯一
upstream blog_pools {server 10.0.0.7:80;server 10.0.0.8:80;
}
server {listen 80;server_name blog.oldboy.cn;access_log /var/log/nginx/blog.oldboy.cn-access.log main;error_log /var/log/nginx/blog.oldboy.cn-error.log notice;root /app/code/lb;location / {proxy_pass http://blog_pools; # 重定向到web服务器proxy_set_header Host $http_host; # 向web服务器发起请求时,携带原客户端hostproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 向web服务器发起请求时,携带原客户端ipproxy_set_header X-Real-Ip $remote_addr;}
}
- 检查语法并启动nginx
[root@lb01 /etc/nginx/conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@lb01 /etc/nginx/conf.d]# systemctl reload nginx.service
2.2 配置web服务器
- 创建虚拟用户:www,1999
- 下载nginx、php服务
- web02的配置与web01相同,直接使用scp复制
- 复制内容:
- nginx:/etc/nginx/conf.d/*
- 站点根目录:/app/code/blog/*
- php配置文件:/etc/php-fpm.d/www.conf
- 注意目录的所属用户及id,要与nfs的虚拟用户相同
- nfs挂载到/app/code/blog/wp-content/uploads下
- 在web服务器上远程登录db01上的mysql
2.3 测试
搭建web集群
踩坑记录
1. /var/cache/nginx权限问题
/var/cache/nginx目录的所属用户应修改为www