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是目录的别名,那么这个就可以是一个目录的全路径。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
平时在工作中会用到很多技术和工具,有时候确实会遗忘,所以这里将这些收藏该文中,便于以后进行查找。也希望查看到该文章的朋友对你们有一定的帮助,后期还会加入更多的信息进来。
一直以来网站都是使用的http,但是在如今的网络环境下,都提倡使用https,为了自己网站的安全,所以我在这几天将自己的所有的站点从http转换为https。本文就是记录本次操作的一个流程。
为了实现能定时修改桌面背景,又不想使用其他的软件,所以自己就通过了Python实现了更换桌面背景的程序,后期通过执行定时任务来修改自己的桌面背景。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
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,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。