当前位置:首页 > 技术文章 > 正文内容

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

arlanguage5个月前 (12-17)技术文章34

我们先来认识一下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服务器常用到的一些配置。大家还想学习哪个模块。欢迎评论留言。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/254.html

分享给朋友:

“nginx入门——web服务器(四)” 的相关文章

什么是Nginx?为什么使用Nginx?《Nginx的作用及优点》

前言 为毛要用nginx服务器代理,不直接用tomcat 7.0,还做多了一次接请求? 这个是我想问的,公司的新项目是要用Nginx+tomcat7+jdk开发的,用户命名可以直接访问tomcat,为啥还要用Nginx?这货是个啥玩意?什么是Nginx? 根据前面的对比,我们可以了解到Nginx是一...

Nginx系列:图片过滤处理

http_image_filter_module是Nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高;磁盘有限不想生成多余的图片文件的前提下,就可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽高以及图片类型信息,由于是实时计算的结果,所以网站...

nginx命令——学习记录 nginx详细教程

nginx命令--学习记录查看80端口是否被占用netstat -ntlpnginx命令#/usr/local/nginx/sbin/nginx 启动命令#/usr/local/nginx/sbin/nginx -t 检测配置文件 #/usr/local/nginx/sbin/ngin...

基于 consul + nginx 的Spring boot微服务集群部署

consul + nginx 负载均衡最近做的基于consul的微服务项目,仅仅在单机上部署了一套,压测的时候扛不住(并发太高的时候linux文件连接数超过上限),于是想办法搞个集群部署。最终在我们的服务器的三台机器(mirage05-mirage07)上完成部署。一. 背景介绍以及项目现状1. c...

SeaTunnel 实践 | SeaTunnel 帮你快速玩转 Spark 数据处理

Databricks 开源的 Apache Spark 对于分布式数据处理来说是一个伟大的进步。我们在使用 Spark 时发现了很多可圈可点之处,我们在此与大家分享一下我们在简化 Spark 使用和编程以及加快 Spark 在生产环境落地上做的一些努力。01一个 Spark Streaming 读取...

宝塔面板如何关闭https强制跳转http/https共存

宝塔面板如何关闭https强制跳转http/https共存在 宝塔面板 中,如果你需要关闭 HTTPS 强制跳转并实现 HTTP 和 HTTPS 共存,可以通过以下步骤完成配置:一、关闭 HTTPS 强制跳转登录宝塔面板进入宝塔后台,点击左侧菜单中的 网站。找到目标网站在网站列表中找到需要取消 HT...