[二、nginx静态资源服务器]

nginx静态资源服务器

前言

上一篇博客,已经讲了如何安装nginx,和基本命令的使用。这一篇接着搭建静态资源服务器。我们将前端静态页面放在nginx根目录下,然后配置nginx.conf。 如下:
在这里插入图片描述
在这里插入图片描述
nginx.conf配置:

vi nginx.conf
#user  nobody;
worker_processes  4;

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  logs/zy.access.log  main;
    #允许跨域访问
     add_header 'Access-Control-Allow-Origin' '*';

    sendfile        on;
    autoindex       on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    gzip  on;
    gzip_min_length 1k; 
    gzip_buffers 4 16k;
    gzip_comp_level 2; 
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; 
    
    #配置缓存的路径,目录层级,缓存name,大小,缓存失效时间60分钟
    proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

    server {
        listen     8084;
        server_name  localhost;
		location / {
			root y_web;
			#alias y_web; #效果等同于root
			index index.html;
		}
	#设置浏览器缓存的1小时后过期时间
        expires 1h;
        #使用缓存
        proxy_cache my_cache;
        #缓存的key,根据用户访问的uri和参数进行缓存
        proxy_cache_key $host%uri$is_args$args;
        #缓存什么样的响应,仅对以下响应码缓存,且设置缓存时间
        proxy_cache_valid 200 304 302 1d;

	#location ~ .*\.(js|css|html|img)$ {
        #     root http://127.0.0.1:8084/js;
        # }
    }
}

保存配置文件,重启nginx.

nginx  -s reload

访问

访问nginx,Ip:8084,可看到资源正常展示出来了
在这里插入图片描述
再看看nginx/logs/zy.access.log日志,可从日志中看到 客户端的IP、客户端浏览器使用GET方法、使用的浏览器内核信息、浏览器版本等
2.使用Gzip压缩提升性能
客户端与服务器之间进行数据传输时,如果能把数据进行压缩,减少传输流量、传输时间,为更多用户提供更快的响应给,nginx使用Gzip压缩也是要更改nginx.conf配置文件
在上面的配置文件中可以看到 #gzip on; 配置,把注释打开,并加入压缩的其它配置
配置文件内容如下:

    #gzip  on;   开启压缩
    gzip  on;
    gzip_min_length 1k; 
    gzip_buffers 4 16k;
    gzip_comp_level 2; 
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; 

在火狐浏览访问网址,可以看到,部分文件已经为压缩了。
在这里插入图片描述
我们还可以从http请求头与响应头中看到
Accept-Encoding: gzip,deflate #请求头支持gzip压缩
Content-Encoding: gzip #响应头传递回来的是gzip压缩后的数据
在这里插入图片描述

更多
在开发项目时,可以把静态资源如:css、js、image等文件单独部署在nginx上,项目中引用静态资源的地址,这样可以nginx不用把请求转发后上游tomcat服务中,1.减少网络传输,2.nginx静态资源处理性能大大高于tomcat
打完收工:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值