Web服务器集群--部署Nginx+Apache实现动静分离
前言
- nginx的静态处理能力很强,但是动态处理能力不足,因此在企业中常采用动静分离技术
- 针对PHP,将静态页面交给nginx处理,动态页面交给PHP-FPM模块或Apache处理
一:部署Nginx+Apache动静分离
1.1:如何做到Nginx动静分离
- 在 Nginx的配置中,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式
1.2:反向代理的原理
- Nginx不仅能作为Web服务器,还具有反向代理、负载均衡和缓存的功能
- Nginx通过 proxy模块实现将客户端的请求代理至上游服务器,此时ngInx与上游服务器的连接是通过http协议进行的
- Nginx在实现反向代理功能时的最重要指令为proxy pass,它能够并能够根据UR、客户端参数或其它的处理逻辑将用户请求调度至上游服务器
1.3:Nginx实现动静分离的关键配置
1.3.1:需求
- 根据需要,将配置 Nginx实现动静分离,对php页面的请求转发给LAMP处理,而静态页面交给Nginx处理,以实现动静分离
1.3.2:配置要点2-1
- 架设并调试后端LAMP环境
- 安装配置 Nginx处理静态页面请求,在 server{};段中加入
vim/usr/local/httpd/conf/nginx.conf
location ~.*\.(gif|jpg|jpeg|bmp|swf)${
root html;
index index.html index.htm;
};
1.3.3:配置要点2-2
- 在 Apache工作目录新建 test. php
- 重启Nginx并测试
[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
#去掉
proxy_pass http://20.0.0.51; '#去掉,对端地址'
}
1.4:Nginx动静分离总结
- 静态页面交给 Nginx处理
- 动态页面交给 PHP-FPM模块或 Apache处理
1.5:动静分离详细过程
动态Apache主机20.0.0.51
[root@localhost yum.repos.d]# yum install -y httpd httpd-devel '安装Apache'
[root@localhost yum.repos.d]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@localhost yum.repos.d]# firewall-cmd --permanent --zone=public --add-service=https
success