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

本文详细介绍了如何使用Nginx搭建一个以图片目录为根目录的静态资源服务器。配置中涉及了监听端口、日志格式、gzip压缩、访问速度限制以及静态文件路径的设置。通过`alias`指令将URL映射到本地目录,并开启目录浏览,同时限制下载速率以保护服务器带宽。此外,还讲解了如何通过`gzip`压缩减少静态资源的传输大小,提高服务器性能。
摘要由CSDN通过智能技术生成

搭建一个静态资源服务器

在这里我想以一个图片目录作为图片服务的根目录,搭建一个图片服务器# 下面是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/都是对的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值