nginx-静态文件服务器

nginx-静态文件服务器

1、代替tomcat作为静态文件服务器,缓解tomcat的访问压力,如果项目是前后端分离,前端使用nginx,后端使用tomcat,并且是在同一个电脑上,直接加一个location访问静态资源文件.

例如静态资源访问路径可用/statics/过滤出来。之后设置允许访问的文件类型,这里使用后缀名做限定,不符合的返回403。
alias指定文件的绝对路径,确保alias + 请求路径/statics/之后的部分能够匹配到具体的文件就可以了
因为是访问具体的文件,不想让别人访问到文件目录,就不用设置autoindex了,或者设置autoindex为off

location /statics/{
	# !~* 不区分大小写的匹配取非
	if ($uri !~* \.(pdf|txt|doc|docx|xls|xlsx)$) {
    	return 403;
    }
	alias D:/archive/;
}
配置说明
autoindex默认为 off,不允许列出整个目录的。
on, 列出整个目录
alias设置需要映射的文件的真实目录。
root设置需要映射的文件的家目录。
autoindex_exact_size默认为 on,显示出文件的确切大小,单位是bytes。改为 off 后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime默认为off,显示的文件时间为GMT时间。
autoindex_localtime改为on后,显示的文件时间为文件的服务器时间
2、如果前后端在不同的电脑上,静态资源文件跟随后端程序,那么需要在后端电脑上启动一个nginx,。在前端电脑的nginx,设置一个反向代理即可。

例如后端nginx这样设置,只允许本机访问和前端的nginx访问,location设置的路径匹配根据前端nginx反向代理拼接的路径设置。

location /archives/{
	alias D:/archive/;
	allow 127.0.0.1;     #允许本及访问
	allow 192.168.0.44;  #允许前端nginx访问,前端nginx电脑的ip
	deny all;            #其他的都禁止
}

例如前端nginx这样设置

location /statics/{
	# !~* 不区分大小写的匹配取非,根据后缀名过滤控制能够访问到的文件
	if ($uri !~* \.(pdf|txt|doc|docx|xls|xlsx)$) {
    	return 403;
    }
	proxy_set_header Host $http_host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header REMOTE-HOST $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://192.168.0:55/archives/; # 后端nginx的ip,此处拼接了一个/archives/,便于后端nginx统一拦截处理。
}

3、显示过程中,如果出现中文乱码,设置一下charset

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;
		# 文件服务器,解决中文乱码问题
		charset utf-8;
		......

小尾巴~~
只要有积累,就会有进步

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值