在搭建之前,我们先学习一下,两个指令 root 和 alias 。
比如,主机是 www.gosuncn.fun
location /i/ {
root /data/w3;
}
,那么 我们的请求是 http://www.gosuncn.fun/i/top.gif
,服务器会如何寻找文件呢?
服务器会把root后的值 /data/w3
和 URI 的值 /i/top.gif
直接拼接。
文件/data/w3/i/top.gif
将会返回给你。
那么,alias
呢?
比如,主机是 www.gosuncn.fun
location /i/ {
alias /data/w3/images/;
}
,那么 我们的请求是 http://www.gosuncn.fun/i/top.gif
,服务器会如何寻找文件呢?
服务器会把alias后的值 /data/w3
和 URI 的值 /i/top.gif
中的/i/
去除之后,再进行拼串。
文件/data/w3/images/top.gif
将会返回给你。
综上所述,你总结清楚了吗?
我再总结一遍,root 很简单,就是 直接 拼在一起;而 alias 略微的多了一步,就是去除 location 后的参数后再拼串。
那接下来我们准备,一个网站的素材。我们提供了3个页面,分别是 首页 、新闻页 、游戏页。
首页代码(index.html):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试页面</title>
</head>
<body>
这是我的测试网站
<a href="news.html">新闻</a>
<a href="games.html">游戏</a>
</body>
</html>
新闻页代码(news.html):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>新闻页</title>
</head>
<body>
<ul>
<li>腾讯新闻</li>
<li>新浪新闻</li>
<li>百度新闻</li>
</ul>
</body>
</html>
游戏页代码(games.html):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>游戏页面</title>
</head>
<body>
<ul>
<li>王者荣耀</li>
<li>英雄联盟</li>
<li>穿越火线</li>
</ul>
</body>
</html>
将三个文件放置在名叫website
的文件夹里。
然后,将这个文件夹,上传到服务器的/opt/nginx
目录中。
[root@VM-0-9-centos nginx]# ls
conf html logs sbin website
修改一下配置:
如果,使用 root 指令 就 用 website
,如果使用 alias 指令 就 用 website/
。看完上面的解释,理解原因了吧?启动nginx,测试运行即可。
其实,还有一点文本文件的压缩效果是十分明显的,因此我们可以加上压缩功能。
gzip on;
gzip_min_length 1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/bmp application
/x-bmp image/x-ms-bmp application/vnd.ms-fontobject font/ttf font/opentype font/x-woff;