利用反向代理实现动静分离
是把网站的「静态资源」(如 js 文件)和「动态资源」(如 php 脚本)分别交给不同的服务器处理,既能提升访问效率,也能降低单服务器压力,是企业级 Web 架构的基础优化手段
第一步:搭建动态资源服务器(RS1:172.25.254.10)
第二步:配置 Nginx 反向代理实现动静分离
第三步:测试验证
1.试验机环境
bash
#在10中
[root@RS1 ~]# dnf install php -y
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# vim /var/www/html/index.php
<?php
echo "<h2>172.25.254.10</h2>";
phpinfo();
?>
2.动静分离的实现
[root@Nginx ~]# vim /usr/local/nginx/conf/conf.d/vhosts.conf
server {
listen 80;
server_name lee.timinglee.org;
location / {
proxy_pass http://172.25.254.20:80;
}
location ~* \.(php|js)$ {
proxy_pass http://172.25.254.10:80;
}
}
[root@Nginx ~]# nginx -s reload
测试:

- 动静分离的价值(为什么企业要这么做?)
性能优化:静态资源可通过 CDN、Nginx 缓存加速,动态资源可单独做负载均衡,提升整体响应速度;
资源隔离:静态服务器出问题不影响动态业务,动态服务器故障不影响静态页面展示;
运维便利:静态资源可批量部署到多台服务器,动态资源可单独升级(如 PHP 版本),互不干扰
静态资源直接由 Nginx 处理:不用转发到后端静态服务器,Nginx 直接读取本地静态文件(如root /usr/local/static;),性能比转发更高;