nginx 实现动静分离

发布于:2025-05-09 ⋅ 阅读:(23) ⋅ 点赞:(0)

环境 :

三个机器,准备一个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.conf

user  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

网站公告

今日签到

点亮在社区的每一天
去签到