nginx1.14.0版本server、location、rewrite配置

时间:2022-11-25 11:28:27

server配置demo

在192.168.10.140(centos7)上修改:

/home/program/nginx/conf/nginx.conf 添加一个server

    server {
listen 80; //监听一个80端口的应用
server_name www.joyce.com; //应用的虚拟域名或IP(比如localhost)都可
access_log logs/my_access.log
     error_log logs/my_error.log
charset utf-8;
error_page 404 = @fallback404 //语法就是@开头 location /@fallback404 {
        proxy_pass http://www.baidu.com; //当404错误发生时,服务降级处理
     }
location / { //应用的根路径访问
root html/domain; //应用的静态资源文件所在路径
index index.html; // 如果访问根路径/,则访问页面index.html
        deny all; //拒绝任何请求
allow all; //允许所有请求
}
}

cd /home/program/nginx/html

mkdir domain        //应用的静态资源文件所在路径

cd domain

vi index.html         //创建一个访问页面index.html

<h1>I'm Joyce! </h1>

cd /home/program/nginx/sbin

./nginx -s reload   重新启动

在windows本机上修改:

修改host文件,路径: c:\windows\system32\drivers\etc

添加虚拟域名:  192.168.10.140  www.joyce.com

浏览器访问: http://192.168.10.140    结果显示html页面内容:I'm Joyce!

location精准路径和一般路径的区别

nginx.conf里面的location配置, 精准匹配的优先级高于一般匹配 。

精准路径配置:

location = /jingzhun {                  //精准路径必须跟上root的文件夹路径/domain才可访问index.html
root html/domain; //应用的静态资源文件所在路径
index index.html; // 如果访问根路径/,则访问页面index.html
}
一般路径配置:
location /yiban {                  //一般路径无需跟上root的文件夹路径/domain即可访问index.html
root html/domain; //应用的静态资源文件所在路径
index index.html; // 如果访问根路径/,则访问页面index.html
}

uri前后都加上/或都不加/,精准匹配才优先于一般匹配。

location的rewrite配置

location /abc {
rewrite '/images/[a-z]3/(.*)\.(png|jpg)' /jack?file=$2.$3; #路径跳转。用索引第二位参数和索引第三位参数,索引从0开始。跳转到下一个url
} location /abc2 { #跳转到下一个url
root html;
try_files $uri /image404.html;
} location /images404.html {
return 404 "image not found exception"; #直接输出不存在
}