编程技术分享平台

网站首页 > 技术教程 正文

nginx入门——web服务器(四)(nginx web服务器)

xnh888 2024-09-21 06:30:30 技术教程 20 ℃ 0 评论

我们先来认识一下web服务器主要功能。

  1. 处理哪些URL请求
  2. 怎么处理这些URL请求

下面我们主要针对这两个功能来进行讲解。

一、设置虚拟服务器

在http上下文中用server指令定义虚拟服务器,以下是一个基本的结构:

http {
    server {
        # Server上下文配置
    }
}

基于域名判断由哪个server上下文来接受并处理请求,示例:

server {
    listen      80;
    server_name example.org www.example.org;
    ...
}

server {
    listen      80;
    server_name example.net www.example.net;
    ...
}

server {
    listen      80;
    server_name example.com www.example.com;
    ...
}

nginx通过请求头中的“Host”字段以确定将请求路由到哪个服务器。server_name可以配置完整的域名,或者通配符以及正则表达式。例如:*.example.org或者mail.*以及~^(www\.)?(.+)$正则表达式。


二、配置Locations

Nginx可以根据请求URI将流量发送到反向代理或者提供一个文件资源。

location修饰符

  • = 使用精确匹配并且终止搜索
  • ~ ?区分大小写的正则表达式匹配
  • ~* ? 不区分大小写的正则表达式匹配 ?
  • ^~ ? ?如果该修饰符在最长匹配前缀字符串前面添加,则不检查正则表达式。

用于匹配由/aaa/path/开头的请求URI,如/aaa/path/test.html

location /aaa/path/ {
    #...
}

\为转义符。?匹配前一个字符0次或者1次。以下location会匹配任何路径以.html或者.htm结尾的文件。

location ~ \.html? {
    #...
}

三、常用的location上下文指令

  • rewrite指令
rewrite ^/old/(.*)$ /new/$1;

如果指定的正则表达式与请求 URI 匹配,则 URI 将按照第二个参数进行更改。如/old/index.html将会重写为/new/index.html。

  • try_files指令
        location / {
            root    html;
            try_files  $uri /index.html;
        }

按指定顺序检查文件是否存在,$uri如果未找到任何文件,则会用最后一个参数中指定的内部重定向 。

  • sub_filter指令
            sub_filter 'test1' 'test3';
            sub_filter_once on;

替换HTTP 响应中的内容,test1替换为test3。

以上就是nginx web服务器常用到的一些配置。大家还想学习哪个模块。欢迎评论留言。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表