Nginx配置location中root指令的使用
一次同事在使用Nginx的时候,想在同一个域名后跟一个名字指向一个临时的活动站点。例如:http://www.xxx.com 这个是主站的地址,他想要的是:http://www.xxx.com/activity。其实大家很快就明白可以直接在网站的根目录下新建一个doc目录,然后将对应的文件放在下面不就可以了吗。确实这样是可行,但是他们首先的一个坑就是将活动网站的地址放在了另外的一个目录下。其次就是静态文件的路径是通过绝对路径来实现的。
首先解决网站目录不一致的问题,如果我们主站的目录在:
/home/www/site/home
活动站点的目录在:
/home/www/site/activity
一、root指令
现在要让nginx里进行配置,都会通过location指令中指定root来解决。确实,想法是对的,但是这里面一定要注意下面的问题,如果我们使用root来进行配置,如:
#错误配置
location /activity {
    root /home/www/site/activity;
    index index.html index.htm;
}
对不起,这样的配置将去寻找的网站的目录是:/home/www/site/activity/activity,所以看到这里大家肯定明白了,我们正确的配置方式是:
#正确配置
location /activity {
    root /home/www/site;
    index index.html index.htm;
}
这样的话,那么我们访问的目录就是/home/www/site/activity;但是如果我们要使用全路径的话有没有解决方式的,答案是肯定的,下面我们将介绍另一种方式。
二、alias指令
这个指定是干啥的,这个就是目录的别名,它就是一个全路径。先说配置:
location /activity { alias /home/www/site/activity/; index index.html index.htm; }
这样的话就可以直接访问/home/www/site/activity/下的文件了,这里一定要注意activity后面一定有个斜线,如果没有就会出现找不到文件的情况。
通过上面两种方式可以满足他们的要求了。但是他们还有一个问题就是在引用静态资源的时候使用的是绝对路径/,所以尽管上面的配置完成后,静态资源还是访问不了。所以作为前端开发的同学一定要记住,尽量使用相对路径来获取静态资源,这样可以为自己减少很多不必要的麻烦。这里提供一个vue打包静态资源参考:vue打包静态资源路径不正确的解决办法
到这里为止,我们的配置基本就说完了。下面总结下:
- root其实是网站的根目录,所以在访问的时候是从根目录开始查找的;
- alias是目录的别名,那么这个就可以是一个目录的全路径。
 快速生成表格
快速生成表格 如果在使用Gin框架编写web应用程序中,如果里面包含了模板文件和静态文件,我们如何进行打包呢?本文主要记录该操作。
如果在使用Gin框架编写web应用程序中,如果里面包含了模板文件和静态文件,我们如何进行打包呢?本文主要记录该操作。 《康熙王朝》是一部非常优秀的电视连续剧,陈道明演的康熙是我觉得最有帝王气魄,让人意犹未尽,本文主要记录一小段非常经典的对白。
《康熙王朝》是一部非常优秀的电视连续剧,陈道明演的康熙是我觉得最有帝王气魄,让人意犹未尽,本文主要记录一小段非常经典的对白。 HI博客上线啦!这一刻不知道等待了多少年,做为以为技术开发人员,没有自己的博客怎么能行呢!最近利用换工作的空余的时间,为自己搭建了该博客,也在自己人生中很重要的日子上线了该博客。也希望该博客能将自己在工作中比较好的技术整理成文章和一些其他比较好文章转载过来,为需要用到相关技术的同行提供有用的帮助。还希望以后大家能指出相关文章中出现的错误,让看到相关博文的人受益,别被我的个人错误而误导他人。
HI博客上线啦!这一刻不知道等待了多少年,做为以为技术开发人员,没有自己的博客怎么能行呢!最近利用换工作的空余的时间,为自己搭建了该博客,也在自己人生中很重要的日子上线了该博客。也希望该博客能将自己在工作中比较好的技术整理成文章和一些其他比较好文章转载过来,为需要用到相关技术的同行提供有用的帮助。还希望以后大家能指出相关文章中出现的错误,让看到相关博文的人受益,别被我的个人错误而误导他人。 人脸识别技术如今已广泛应用于安全监控、身份验证、人机交互等多个领域。对于开发者而言,利用现有的库如face_recognition可以极大地简化人脸识别的开发过程。本文将详细介绍如何安装face_recognition库,并通过实例展示如何用它来实现一个基本的人脸比对服务。
人脸识别技术如今已广泛应用于安全监控、身份验证、人机交互等多个领域。对于开发者而言,利用现有的库如face_recognition可以极大地简化人脸识别的开发过程。本文将详细介绍如何安装face_recognition库,并通过实例展示如何用它来实现一个基本的人脸比对服务。 Electron页面跳转、浏览器打开链接和打开新窗口
Electron页面跳转、浏览器打开链接和打开新窗口 Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题 在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。 在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。