Nginx访问静态资源配置

Nginx访问静态资源配置

关于 alias和root配置的说明:
一般情况下,在nginx配置中的良好习惯是:
1)在location /中,即路径为“ / ”时, 配置root目录;
2)在location /path中,即路径包含指定内容,如“ localtion /imgs ”时, 配置alias虚拟目录。

1. 配置修改如下:

# 访问静态资源:直接配置静态资源_绝对路径,Docker的话,需要配置Docker内部Nginx的绝对路径
#  		配置文件中增加如下内容location(配置文件位置:nginx/nginx.conf,
#								新版本配置文件位置:/nginx/conf.d/default.conf)
location /images {
            autoindex on;
      		autoindex_exact_size on;
      		autoindex_localtime on;
      		# Window服务器,路径如 D:/images/;    
      		#	***注***:  1. 路径分隔符为 / 或 \\ ,而非 \
      		#				2. 使用alias,最后的" / " 不能缺少 
      		alias	/home/nginx-1.22.0/images/;  # 绝对路径  [ docker需要配置容器内绝对路径 ]
        }

2. 配置相关属性说明

nginx默认是不允许列出整个目录的,如需开启,使用下方三个配置项:

	autoindex on;	开启目录列表访问,这样浏览器可以直接访问根路径,列出文件列表,和Ftp效果类似
	autoindex_exact_size on;	显示出文件的确切大小,单位是bytes。
		改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
	autoindex_localtime on;
		默认为off,显示的文件时间为GMT时间。
		改为on后,显示的文件时间为文件的服务器时间

3. 实例【静态资源–图片】,并开启路径目录列表:

1. 在/home/nginx-1.22.0文件夹下创建images文件夹[可随意路径],放入图片: MyIndex.jpg
2. 修改nginx.conf配置文件【路径千万别找错了】
如 路径:	/usr/local/nginx/conf/nginx.conf    或   D:/images/;

3. 新增一个图片资源路径访问location:
	location /images {
            autoindex on;
      		autoindex_exact_size on;
      		autoindex_localtime on;
      		alias	/home/nginx-1.22.0/images/;   # 最后的" / " 不能缺少 
      		# alias	F:\\PHP\\upload;
        }

4. location中的root和alias参数说明:

alias和root区别:
1)alias指定的目录是准确的,Nginx访问该location时,资源路径即alias指定的跟路径;
2)root指定的目录是location匹配访问的path目录的上一级目录
	# 如 location /imgs/,   root配置为 /code/front/dist
	#		那么,文件的路径存在在:  /code/front/dist/imgs/
3)使用alias标签的目录块中不能使用rewrite的break(具体原因不明);
	另外,alias指定的目录后面必须要加上 “ / ” 符号!!!
4)root目录配置中,location匹配的path目录后面带不带"/",都不会影响访问。

所以,一般情况下,在nginx配置中的良好习惯是:
1)在location /中配置root目录;
2)在location /path中配置alias虚拟目录。
# 假设项目文件夹:code , 静态文件的位置:/code/front/dist/
#		如下使用root配置,会访问不到,报404之类的:
	location ^~ /static/ {
		# 这里使用root的话,相当于 文件的路径为 /data/zfy_home/code/front/dist/static/
        # 	root配置无效
        root /data/zfy_home/code/front/dist/;   

		# 有效配置:
		alias /data/zfy_home/code/front/dist/;  # 使用alias时, 最后的" / " 不能缺少 
    } 

Or 

	location / {
		# 这里直接使用root配置全路径即可
		#		root配置有效
        root /data/zfy_home/code/front/dist/;   

		# 		location后跟" / "时,建议直接使用root了,alias多此一举了感觉
		alias /data/zfy_home/code/front/dist/;  # 使用alias时, 最后的" / " 不能缺少 
    } 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值