Nginx使用upstream实现动静分离
一、为什么要进行动静分离 分离资源,减少不必要到的请求消耗,减少请求延时。 注:我这里,是nginx处理静态资源,apache处理动态资源。 场景分析: 1、未分离之前的场景步骤 (1)客户端请求url到中间件(比如nginx,apache) (2)中间件根据url请求相应目录,程序框架 (3)程序框架运行程序逻辑 (4)程序逻辑请求相应数据资源 (5)将数据资源返回给客户端 注:其实,静态资源是不需要经过动态请求,直接中间件返回给客户端就可以了。也就是说只要第1步和第5步就可以了 配置文件展示: upstream php_api{ #代理请求到本地apache服务器,实现动静分离(这里我将apache默认端口更改为81) server 127.0.0.1:81; } server { listen 80; server_name www.xiaobudiu.top; access_log /etc/nginx/logs/access/www.xiabudiu.top.access.log main; root /data/www; location ~ \.php$ { #如果网站访问的url后缀是.php,则代理使用apache进行解析 proxy_pass http://php_api; index index.html index.htm; } #如果请求的是静态资源