nginx静态网站部署
前言
Nginx是一个HTTP的web服务器,可以将服务器上的静态文件(如HTML、图片等)通过HTTP协议返回给浏览器客户端
案列
(1)通过Xftp将ace-master到linux服务器/opt/www目录下,为了演示方便,将名字改为ace
(2) 在nginx.conf中添加配置
注意要以分号结尾
(3)重启nginx服务器
(4)4.1.3通过http://192.168.3.104:80/ace/访问
(5)打开目录浏览功能(自动索引)
将ace下删除原来静态页面,现在文件夹结构
修改nginx.conf配置:增加autoindex on
访问:
location中配置路径讲解
初次接触:可能会遇到404找不到页面的错误,主要原因是配置路径问题;
规则:ip + port 等于 root,假设server的配置如下:
server {
listen 80; #端口号
location / {
root /opt/static /ace; #静态文件路径
}
}
替换:
http://192.168.3.104:80/ = root = /opt/static/ace
http://192.168.3.104:80/ace = root/ace = /opt/static/ace/ace
location匹配顺序:
在没有标识符的请求下,匹配规则如下:
1、nginx服务器首先在server块的多个location块中搜索是否有标准的uri和请求字符串匹配。如果有多个标准uri可以匹配,就匹配其中匹配度最高的一个location。
2、然后,nginx在使用location块中,正则uri和请求字符串,进行匹配。如果正则匹配成功,则结束匹配,并使用这个location处理请求;如果正则匹配失败,则使用标准uri中,匹配度最高的location。
备注:
1、如果有精确匹配,会先进行精确匹配,匹配成功,立刻返回结果。
2、普通匹配与顺序无关,因为按照匹配的长短来取匹配结果。
3、正则匹配与顺序有关,因为是从上往下匹配。(首先匹配,就结束解析过程)
4、在location中,有一种统配的location,所有的请求,都可以匹配,如下:
location / {
#因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
#但是正则和最长字符串会优先匹配
}
结合标识符,匹配顺序如下:
(location =) > (location 完整路径) > (location ^~ 路径) > (location ,* 正则顺序) > (location 部分起始路径) > (location /)
即
(精确匹配)> (最长字符串匹配,但完全匹配) >(非正则匹配)>(正则匹配)>(最长字符串匹配,不完全匹配)>(location通配)