Nginx系列-基础静态文件配置
之前介绍完相关的基本配置项目之后,我们现在就手动去配置一下最基本的静态访问页面。
# server配置文件的抽离
首先看一下老猫的相关nginx.cnf的配置文件
从图上我们很清楚地看到老猫将原来的http中的server配置进行注释掉了,取而代之的是一种inlude的写法,其实include就是引入外部配置文件,这个我觉得不用解释,有开发基础的都能理解。 配置文件的抽离配置:
include kd_server.conf;#表示引入外部配置
抽离文件kd_server.conf的配置信息如下:
server {
listen 88;
server_name localhost;
location / {
root html;
index kd.html index.htm;
}
}
2
3
4
5
6
7
8
# 配置静态资源文件
下面老猫 进行配置一下相关的静态文件资源,包括项目的名称。具体配置信息如下:
server {
listen 88;
server_name localhost;
#配置组装一张图片
location / {
root /home/kd;
}
}
2
3
4
5
6
7
8
因为之前老猫已经将部分的静态资源文件已经上传到了服务器,所以此时我们这样访问:http://xxx.xxx.128.226:88/kd_jp.jpg,就能够访问到/home/kd路径下的资源文件,这类资源文件包括jpg文件,txt文件甚至音频以及视频文件均可访问。当然我们还有另外一种路径的配置方式,如下:
server {
listen 88;
server_name localhost;
#配置组装一张图片
location /kd {
root /home;
}
}
2
3
4
5
6
7
8
这样配置的话,我们的请求路径上面就带上了/kd的路径,这样配置要注意的是,当访问的时候localtion后面的/kd会自动拼装到/home的后面组成全路径。如此,我们就可以访问到相关的文件,访问方式:http://xxx.xxx.128.226:88/kd/kd_jp.jpg
以上两种方式多多稍稍暴露了文件的实际路径名称。所以我们还有一种别名的配置方式,这种方式可以隐藏我们的实际路径名称,“alias” 可以为你的路径做一个别名,对用户透明。配置方式如下:
server {
listen 88;
server_name localhost;
#配置组装一张图片
location /img {
alias /home/kd;
}
}
2
3
4
5
6
7
8
此时,我们虽然访问的是/home/kd的路径,但是我们用/img的别名所取代了,因此,我们直接这样访问相关文件即可:http://xxx.xxx.128.226:88/img/kd_jp.jpg
对照着上述的配置方法,老猫觉得,如果现在让大家简单部署一个静态资源的项目也是比较简单的。我们可以如下进行配置:
server {
listen 88;
server_name localhost;
location / {
root /home/kd/kd-shop;
index index.html;
}
}
2
3
4
5
6
7
8
配置完毕之后我们只要直接访问域名+端口号即可。root后面跟着的是项目在服务器中的路径,index后面表示的是在kd-shop项目中默认的启始页面。这样我们就能访问到部署的静态资源了。
# location匹配规则详解
关于location上的配置,我们除了路径可以直接填写之外,还以用相关的正则表达式进行路径的映射,从而来满足各种资源的配置。具体的配置以及介绍如下:
空格
:默认匹配,普通匹配location / { root /home; }
1
2
3=
:精确匹配location = /kd/img/kd_jpg.jpg { root /home; }
1
2
3~*
:匹配正则表达式,不区分大小写#符合图片的显示 location ~* .(GIF|jpg|png|jpeg) { root /home; }
1
2
3
4~
:匹配正则表达式,区分大小写#GIF必须大写才能匹配到 location ~ .(GIF|jpg|png|jpeg) { root /home; }
1
2
3
4^~
:以某个字符路径开头location ^~ /kd/img { root /home; }
1
2
3
v1.5.1