• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Nginx访问静态资源配置

武飞扬头像
划]破
帮助1

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时, 最后的" / " 不能缺少 
    } 

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggacke
系列文章
更多 icon
同类精品
更多 icon
继续加载