Nginx初认识之 Nginx搭建静态资源服务器 (二)


搭建一个静态资源服务器

在这里我想以一个图片目录作为图片服务的根目录,搭建一个图片服务器# 下面是nginx的配置文件

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    
    # 指定日志文件的内容格式
    log_format  img_store  '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" '  '"$http_user_agent" "$http_x_forwarded_for"';
    
    sendfile        on;

    keepalive_timeout  65;

    gzip  on;   # * 开启gz压缩
    gzip_min_length 20k; #表示小于20K的文件就不进行压缩,节省CPU资源
    gzip_comp_level 2;      #压缩强度
    gzip_types image/jpeg image/gif image/png;   #指定要压缩的文件类型,不在指定中的文件类型不压缩,像tar.gz文件,zip文件这种就没有必要压缩

    server {
        listen       8080;
        server_name  localhost;
        
        # 指定日志文件的位置
        access_log  logs/access.log  img_store;     #日志文件
        
        error_page   500 502 503 504  /50x.html;
        
        location = /50x.html {
            root   html;
        }
        
        # * 这里是搭建图片服务器新增的配置
        location / {
            alias /tmp/img_store/;  # 结尾的/不能去掉,否则是找不到的
            autoindex on;
            set $limit_rate 50k;
        }
    }

}


server {...}
使用server表示创建一个服务,代码块中是具体的服务的设置。
每个服务都要监听一个端口。
在nginx.conf中可以写多个 server 代码块使nginx创建多个服务。

上面增加了如下配置:
location / {
    alias /tmp/img_store/;
    autoindex on;
    set $limit_rate 50k;
}

这里指定了url中 "服务器ip/" 这个url路径指向我的主机的 /tmp/img_store/这个目录。使用alias和root都可以但是两者有些不同。

autoindex on;  表示允许浏览者查看目录结构

set $limit_rate 50k;  限制访问速度为最多每秒传输50K的内容;这个设置是为了防止用户访问大文件时速度太快而占用服务器有限的带宽。

gzip  on; 开启gz压缩,开启前后在浏览器用F12查看加载的静态资源的大小明显变小。

gzip_min_length 20k; #表示小于20K的文件就不进行压缩,节省CPU资源
    
gzip_comp_level 2;      #压缩强度

gzip_types image/jpeg image/gif image/png   #指定要压缩的文件类型,不在指定中的文件类型不压缩,像tar.gz文件,zip文件这种就没有必要压缩

有什么类型可以查看 nginx 配置文件目录下的 mime.types;

# log_format 用于指定日志文件的内容格式
log_format  img_store        
'$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" '  '"$http_user_agent" "$http_x_forwarded_for"';

其中 img_store 是一个名字可以随便取
后面的内容是每一行日志的具体内容

        
# access_log 用于指定日志文件的位置
access_log  logs/access.log  img_store;     #日志文件

第二参是位置,可以使相对路径或绝对路径,这里写的是相对位置
第三参是名字,即之前log_format设置的名字


PS:
如果在listen 8080;的端口号前添加IP,那么就只有这个ip能访问我的静态服务器。

例如 listen 127.0.0.1:8080;
那么就只有本机访问我的8080端口的静态资源服务器能访问到。

上面写 alias /tmp/img_store/ 是对的
写 alias /tmp/img_store  是错的。
如果写 root /tmp/img_store 或者 root /tmp/img_store/都是对的

本文转载自: 张柏沛IT技术博客 > Nginx初认识之 Nginx搭建静态资源服务器 (二)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值