nginx 实现动静分离
环境 :
三个机器,准备一个nginx代理 两个http 分别处理动态和静态
知识点--expires
expires功能说明---(为客户端配置缓存时间)
nginx缓存的设置可以提高网站性能,对于网站的图片,尤其是新闻网站,图片一旦发布,改动的可能是非常小的,为了减小对服务器请求的压力,提高用户浏览速度,我们可以通过设置nginx中的expires,让用户访问一次后,将图片缓存在用户的浏览器中,且时间比较长的缓存。
原理:当nginx设置了expires后,例如设置为:expires 10d; 那么用户在10天内请求的时候,都只会访问浏览器中的缓存,而不会去请求nginx。
注:需要注意的是,这种缓存方式只能在用户不对浏览器强制刷新的情况下生效,如果用户通过url来进行访问,是可以访问到缓存的。
注意:防火墙selinux都永久关闭
编译安装的想要用nginx启动服务,可以做链接(ln -s )
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
1.静态资源配置
server {
listen 80;
server_name localhost;location ~ \.(html|jpg|png|js|css) {
root /www/html;
expires 1d; #为客户端设置静态资源缓存时间(缓存在浏览器)
}
}
配置文件修改如下:
[root@bogon ~]# cat /etc/nginx/nginx.confuser nginx;
worker_processes auto;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;#keepaliv