Posted in Servers onApril 01, 2021
1.为什么扩展多台web节点
- 单台服务器能抗住的访问量是有限的,配置多台web服务器能提升更高的访问速度
2.扩展多台web解决了什么问题
- 单台web节点如有故障,会导致业务down机
- 多台web节点能保证业务的持续稳定,扩展性能高
- 多台web节点能有效的提升用户的访问网站的速度
- 多台web节点技术架构组成,如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dMYbGHGY-1616924617012)(00446E42E0EC4FEDAC3244002CD22BC4)]
3.扩展web环境
主机名称 | 应用环境 | 外网地址 | 内网地址 |
---|---|---|---|
web01 | nginx+php | 10.0.0.7 | 172.16.1.7 |
web02 | nginx+php | 10.0.0.8 | 172.16.1.8 |
db01 | mysql | 10.0.0.51 | 172.16.1.51 |
4.快速扩展一台web节点详细步骤
- 准备一个web02的服务器172.16.1.8
- 把web01的nginx配置文件推送到web02上
[root@web01 ~]# scp /etc/yum.repos.d/nginx.repo 172.16.1.8:/etc/yum.repos.d/
[root@web01 ~]# rsync -avz --delete /etc/nginx/ 172.16.1.8:/etc/nginx/
- 安装nginx
[root@web02 ~]# yum -y install nginx
- 安装php-fpm
[root@web02 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@web02 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@web02 ]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb --nogpgcheck
- 修改php-fpm的配置文件
[root@web02 code]# vim /etc/php-fpm.d/www.conf
- 将web01的code目录导入web02中
[root@web01 ~]# rsync -avz /code 172.16.1.8:/
- 启动php服务和nginx服务
[root@web02 code]# systemctl start php-fpm.service
[root@web02 code]# systemctl start nginx
拆分静态资源到独立服务器
1.为什么拆分静态资源至独立服务器
- 当后端的web节点出现多台时,会导致用户上传的图片,视屏附件等内容仅上传至一台web服务器,那么其他的web服务器则无法访问到该图片
2.增加nfs解决的问题
- 保证了多台web节点静态一致.
- 有效的节省多台web节点的存储空间
- 统一管理静态资源,便于后期推送至CDN静态资源加速
3.环境准备
主机名称 | 应用环境 | 外网地址 | 内网地址 |
---|---|---|---|
web01 | nginx+php | 10.0.0.7 | 172.16.1.7 |
web02 | nginx+php | 10.0.0.8 | 172.16.1.8 |
db01 | mysql | 10.0.0.51 | 172.16.1.51 |
nfs | nfs | 10.0.0.31 | 172.16.1.31 |
4.nfs端操作步骤
- 安装并配置nfs
[root@nfs ~]# yum -y install nfs-utils
[root@nfs ~]# cat /etc/exports
/data/wordpress 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/zh 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/phpshe 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
- 创建共享目录,并授权
[root@nfs ~]# mkdir -p /data/{wordpress,zh,phpshe}
[root@nfs01 ~]# chown -R www.www /data/
- 启动nfs服务,并加入开机自启
[root@nfs01 ~]# systemctl restart nfs-server
[root@nfs01 ~]# systemctl enable nfs-server
5.web02端操作步骤
- web02节点安装nfs,然后使用showmount查看服务端共享资源
[root@web02 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data/phpshe 172.16.1.0/24
/data/zh 172.16.1.0/24
/data/wordpress 172.16.1.0/24
- wordpress静态资源存放的位置
[root@web01 ~]#ll /wrodpress/wp-content/uploads/
- 推送数据到nfs服务器上
[root@web02 ~]# rsync -avz /code/wordpress/wp-content/uploads/ 172.16.1.31:/data/wordpress
- web02客户端执行挂载操作
[root@web01 wp-content]# mount -t nfs 172.16.1.31:/data/wordpress /wordpress/wp-content/uploads/
扩展多台相同的Web服务器
- Author -
袁胜的博客声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@