nginx核心配置示例

1.核心配置示例

基于不同的IP、不同的端口以及不用得域名实现不同的虚拟主机,依赖于核心模块 ngx_http_core_module实现。
1.新建一个 PC web 站点

# 访问测试
[root@node100 ~]# curl www.root.org # 注意在访问主机中设解析

2.root alias

root :指定 web 的家目录,在定义 location 的时候,文件的绝对路径等于 root+location
alias :定义路径别名,会把访问的路径重新定义到其指定的路径 , 文档映射的另一种机制 ; 仅能用于
location 上下文 , 此指令使用较少
注意:
location 中使用 root 指令和 alias 指令的意义不同:
root #给定的路径对应于location中的/uri左侧的/
alias #给定的路径对应于location中的/uri的完整路径
location 的详细使用:
在一个 server location 配置段可存在多个,用于实现从 uri 到文件系统的路径映射;
ngnix 会根据用户请求的 URI 来检查定义的所有 location ,按一定的优先级找出一个最佳匹配,
而后应用其配置在没有使用正则表达式的时候, nginx 会先在 server 中的多个 location 选取匹配度最
高的一个 uri
uri 是用户请求的字符串,即域名后面的 web 文件路径
然后使用该 location 模块中的正则 url 和字符串,如果匹配成功就结束搜索,并使用此 location 处理
此请求
#语法规则:
location [ = | ~ | ~* | ^~ ] uri { ... }
= #用于标准uri前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立
即处理请求
^~ #用于标准uri前,表示包含正则表达式,并且匹配以指定的正则表达式开头
#对uri的最左边部分做匹配检查,不区分字符大小写
~ #用于标准uri前,表示包含正则表达式,并且区分大小写
~* #用于标准uri前,表示包含正则表达式,并且不区分大写
不带符号 #匹配起始于此uri的所有的uri
\ #用于标准uri前,表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号
匹配优先级从高到低:
~/~*,(=, ^~),不带符号
  匹配案例 - 优先级:
server {
listen 80;
server_name www.root.org;
location /test1/ {
root /data/web;
}
location ^~ /test2 {
root /data/web;
}
location /test3 {
root /data/web;
}
location ~* \.(t)$ {
root /data/web;
}
}

3.Nginx 账户认证功能

ngx_http_auth_basic_module 模块提供此功能
创建用户
 htpasswd -cmb /usr/local/nginx/conf/.htpasswd admin root 123
#-b 表示非交互建立用户认证
[root@Nginx ~]# cat /usr/local/nginx/conf/.htpasswd
查看用户创建成功和密码

进入配置文件中,添加认证功能:

[root@Nginx ~]# vim /usr/local/nginx/conf.d/vhosts.conf

重启服务:

[root@Nginx ~]# nginx -s reload 

输入账户名和密码后,成功登录

4.检测文件是否存在
try_files 会按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如 果所有文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退 URI 且必须存在,否则会出现内部500 错误。
语法格式
Syntax: try_files file ... uri;
try_files file ... =code;
Default: —
Context: server, location
[root@Nginx ~]# vim /usr/local/nginx/conf.d/vhosts.conf
进入测试:
由图可得路径下的地址文件并不存在,所以找不到 ,输出error default
  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值