一,什么是动静分离

动静分离主要是通过nginx+PHP-FPM来实现,其中nginx处理图片,html等静态的文件,PHP处理动态程序[PHP-FPM]

简单点来说,就是用户在请求的时候,如果只是简单的访问图片,html等静态的请求时,nginx直接返回,如果是发送动态请求时候,需要程序进行就由nginx把请求发送给程序,进行动态处理

二,结构图

NGINX动静分离

NGINX动静分离

 location \.php$ {

       root     html;

       fastcgi_pass    192.168.253.131:9000;

       fast_index    index.php;

       fastcgi_param  SCRIPT_FILENAME  /www/html$fastcgi_script_name;

       include    fastcgi_params;

}   

location  .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff) {

      proxy_pass http://192.168.8.203:8080;

      expires 30d;

}

location  .*\.(gif|jpg|jpeg|png|bmp|swf)$      ###所有的静态文件gif,jpg等都在本地打开,存放的目录为/usr/local/nginx/html,保存时间为30天

{

  root   /usr/local/nginx/html;

  expires    30d;

}

NGINX动静分离NGINX动静分离

前端为一台nginx调度器,负责动静分离调度到后端不同主机,后端两台web服务器负责响应静态请求,两台php服务器负责响应动态请求,并且php会话保存在redis中,注意配置upstream server时location定义的访问的url,而且要在http配置段定义,在server配置段调用,相关配置指令使用的位置不能写错地方,后端主机上各服务启动配置好.



相关文章: