Nginx应用与运维——Nginx Web服务应用实战(HTTP增强协议服务器的搭建)

关于web,http协议,https协议,apache,nginx的学习与认知 web; http协议;https协议;apache;nginx; 阅读详情

7、HTTP增强协议服务器的搭建

7.1、HTTP/2协议服务

HTTP/2是HTTP协议的2.0版本,该协议通过多路复用、请求优化、HTTP头压缩等功能提升网络传输速度、优化用户体验。HTTP/2使用二进制分帧层将传输的数据分割为更小的数据和帧,并对它们进行二进制格式编码处理,以实现在不改变HTTP现有语义等标准的基础上提升传输性能,从而降低响应延迟、提高请求吞吐的能力。HTTP/2通过多路复用技术使客户端可以并行发送多个请求,以提高带宽的利用率。HTTP/2是基于SPDY协议设计的,是SPDY的演进版本,但其不强制使用HTTPS协议,仍可支持HTTP明文传输。Nginx是通过ngx_http_v2_module实现HTTP/2协议支持的,编译配置时可通过增加参数–with-http_v2_module启用HTTP2模块。HTTP2模块配置指令如下。
在这里插入图片描述

  • http2_recv_buffer_size指令可编写在http指令域中。
  • http2_chunk_size、http2_push、http2_push_preload指令可编写在http、server、location指令域中。
  • 其余的指令可编写在http、server指令域中。

HTTP2服务器推送可以实现将多个资源文件(CSS、JS、图片等)同时发送到客户端,如下页面中包含style.css和nginx.png两个资源文件。

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>Nginx HTTPv2 Test</title>
<head>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h1>Nginx HTTPv2 Test</h1>
    <img src="nignx.png">
</body>
</html>

在没有服务器推送的情况下,客户端通过3个GET方法获取该页面的所有资源。在启用服务器推送后客户端只需通过一个GET方法,就可以获取到该页面的所有资源。配置样例如下:

server {
    listen 443 ssl http2 default_server;

    ssl_certificate ssl/www_nginxbar_org.pem;       # 网站证书文件
    ssl_certificate_key ssl/www_nginxbar_org.key;   # 网站证书密钥文件
    ssl_password_file ssl/www_nginxbar_org.pass;    # 网站证书密钥密码文件
    root /opt/nginx-web;
    location / {
        http2_push /style.css                       # 服务端推送
        http2_push /nginx.png                       # 服务端推送
    }
}

7.2、WebDAV协议服务

WebDAV(Web-based Distributed Authoring andVersioning)是基于HTTP/1.1的增强协议。该协议使用户可以直接对Web服务器进行文件读写,并支持对文件的版本控制和写文件的加锁及解锁等操作。Nginx通过ngx_http_dav_module模块实现对WebDAV协议的支持,使用户通过WebDAV模块的配置指令实现文件的管理操作,该模块支持WebDAV协议的PUT、DELETE、MKCOL、COPY和MOVE请求方法,在配置编译参数时,需要添加–with-http_dav_module参数启用该功能。ngx_http_dav_module模块的配置指令如表所示。

在这里插入图片描述
上述指令都可编写在http、server、location指令域中。

Nginx的自有模块对WebDAV协议的支持并不完整,可以通过第三方模块nginx-dav-ext-module增加文件特性查找和对写文件的加锁与解锁支持。ngx_http_dav_module模块的配置指令如表所示。
在这里插入图片描述

  • dav_ext_lock_zone指令只能编写在http指令域中。
  • dav_methods和dav_ext_lock指令可编写在http、server、location指令域中。
  • WebDAV协议方法及方法说明如表所示。
    在这里插入图片描述
    进行WebDAV协议的MOVE/COPY操作时,会通过HTTP请求头属性字段Destination指定目标路径,如果客户端请求头中没有字段Destination, Nginx会直接报错。为增加服务端兼容性,可以通过第三方模块headers-more-nginx-module的more_set_input_headers指令在MOVE/COPY操作的HTTP请求头中强制添加Destination字段。

WebDAV协议服务配置过程如下所示。

  • (1)模块编译
    模块编译配置样例如下:
    # 编译模块
    $ ./configure --with-http_dav_module --add-module=../nginx-dav-ext-module --add-module=../headers-more-nginx-module
    
  • (2)设置文件夹权限
    文件夹权限配置样例如下:
    chown -R nobody:nobody /opt/nginx-web/davfile
    chmod -R 700 /opt/nginx-web/davfile
    
  • (3)设置登录账号及密码
    登录账号及密码配置样例如下:
    echo "admin:$(openssl passwd 123456)" >/etc/nginx/conf/.davpasswd
    
  • (4)Nginx配置
    Nginx配置样例如下:
    dav_ext_lock_zone zone=davlock:10m;                   # DAV文件锁内存共享区
    
    server {
        listen 443 ssl http2;                             # 启用HTTPS及HTTP/2提升传输性能
        server_name  dav.nginxbar.org;
        access_log  logs/webdav.access.log  main;
        root    /opt/nginx-web/davfile;
        
        ssl_certificate ssl/www_nginxbar_org.pem;         # 网站证书文件
        ssl_certificate_key ssl/www_nginxbar_org.key;     # 网站证书密钥文件
        ssl_password_file ssl/www_nginxbar_org.pass;      # 网站证书密钥密码文件
        ssl_session_cache shared:SSL:10m;                 # 会话缓存存储大小为10MB
        ssl_session_timeout  20m;                         # 会话缓存超时时间为20分钟
    
        client_max_body_size 20G;                         # 最大允许上传的文件大小
    
        location / {
            autoindex on;
            autoindex_localtime on;
    
            set $dest $http_destination; 
            if (-d $request_filename) {                   # 对目录请求、对URI自动添加“/”
                rewrite ^(.*[^/])$ $1/;
                set $dest $dest/;
            }
    
            if ($request_method ~ (MOVE|COPY)) { # 对MOVE|COPY方法强制添加Destination请求头
                more_set_input_headers 'Destination: $dest';
            }
    
            if ($request_method ~ MKCOL) {
                rewrite ^(.*[^/])$ $1/ break;
            }
    
            dav_methods PUT DELETE MKCOL COPY MOVE;      # DAV支持的请求方法
            dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;# DAV扩展支持的请求方法
            dav_ext_lock zone=davlock;                   # DAV扩展锁绑定的内存区域
            create_full_put_path  on;                    # 启用创建目录支持
            dav_access user:rw group:r all:r;            # 设置创建的文件及目录的访问权限
    
            auth_basic "Authorized Users WebDAV";
            auth_basic_user_file /etc/nginx/conf/.davpasswd;
        }
    }
    

主流操作系统均支持WebDAV协议,用户既可以直接通过添加网络设备的方式添加WebDAV网站目录,也可以使用支持WebDAV协议的客户端进行访问。

Linux运维入门实战:从零搭建环境到部署Nginx Web服务 很多同学想学习 Linux,但面对命令行、系统架构、网络配置等概念时,常常感到无从下手,网上资料又过于零散。本文将从零开始,手把手带你搭建 Linux 环境、掌握核心命令、部署常用服务,并最终完成一个完整的 Web 服务部署实战项目。无论你是计算机专业学生、希望转行运维的开发人员,还是想提升服务器管理能力的从业者,都能通过这篇系统教程,构建起 Linux 运维的完整知识体系,达到可独立完成基础运维工作的水平。 1. Linux 运维:核心概念与职业前景 在深入学习具体操作之前,我们有必要理解 Linux 运 阅读详情

相关推荐

Linux运维入门实战:从零搭建服务器环境到部署Web服务

在实际运维工作中,Linux 系统是绝大多数服务器、云主机和容器环境的基石。无论是部署应用、排查故障、管理资源还是保障安全,扎实的 Linux 基础都是运维工程师的立身之本。然而,很多初学者面对海量的命令、复杂的配置和抽象的概念时,常常感到无从下手,学习过程容易陷入“一看就会,一用就废”的困境。 本文旨在为希望从零开始系统学习 Linux 运维的读者,提供一条清晰、可执行的学习路径。我们将不局限于单个命令的讲解,而是从理解 Linux 的设计哲学出发,通过构建一个模拟的服务器环境,串联起用户管理、文件系统、

cuiyingchan0663的博客 389

云计算运维之WEB服务器介绍和搭建

一、WEB服务器介绍概要:网站服务器,提供客户的【信息浏览】【数据下载】【数据存储】【脚本运行】服务运行方式被动响应,即由客户端发出请求,服务器进行接收并进行响应分类:【Apache】【Nginx】【IIS(Windows的WEB服务器)】【lighttpd】工作原理[1]、连接过程:【WEB服务器】与【浏览器】建立连接,...

cnzzs的博客 854

腾讯云免费服务器+Nginx实战:从零搭建个人网站全流程指南

Web服务器是网站运行的基石,它负责处理HTTP请求并返回响应。Nginx作为高性能的Web服务器,采用事件驱动的异步架构,在高并发场景下能有效降低资源消耗,其灵活的配置和反向代理能力使其成为现代Web架构的核心组件。掌握Nginx部署对于个人开发者和小型团队具有重要价值,能帮助你将本地代码快速部署到公网,实现从开发到上线的完整流程。本文聚焦于利用腾讯云免费试用资源,结合Nginx,手把手指导完成服务器初始化、安全加固、Nginx安装配置、域名绑定及HTTPS加密等关键步骤,涵盖云服务器、Nginx配置等核

weixin_34242509的博客 724

Web与Nginx网站服务

​ Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器。Nginx 是由 Igor Sysoev 为俄罗斯访问点开量第二的 Rambler.ru 站发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011 年 6 月 1 日,Nginx 1.0.4 发布。

qq_62693973的博客 1135

Nginx反向代理实战:一个域名如何同时服务微信小程序和Web应用

本文详细介绍了如何利用Nginx反向代理技术,通过一个域名同时服务微信小程序和Web应用。文章从实战出发,解析了HTTPS证书配置、基于路径的智能路由规则(location匹配),以及如何处理静态资源、WebSocket连接等进阶问题,旨在帮助开发者构建简洁、高效且安全的统一网关架构,降低运维成本。

blue的专栏 831

淘宝Tengine:Nginx的超级增强版

通过本文,我们对Tengine有了初步的认识,包括它的背景、主要特性以及如何安装和使用。如果你正在寻找一种能够满足大规模并发访问需求的Web服务器,Tengine无疑是一个值得考虑的选择。随着项目的不断发展,未来还将有更多激动人心的功能被加入进来。希望这篇文章能帮助你更好地理解Tengine,并为你的技术选型提供有价值的参考。如果有任何疑问或想要了解更多信息,请继续关注我的博客!请记得,虽然Tengine是Nginx的强大替代品,但在采用之前,务必评估其与现有系统的兼容性和适用性。

技术分享 1387

Nginx应用与运维——Nginx Web服务应用实战(Python网站的搭建)

uWSGI是Python实现WSGI、uWSGI(uWSGI独有的协议)​、HTTP等协议功能的Web服务器,Nginx通过ngx_http_uwsgi_module模块实现与uWSGI服务器的数据交换并完成Python网站的请求处理。该模块默认编译在Nginx二进制文件中,无须单独编译。该模块的配置指令如表所示。CentOS 7系统默认安装Python 2.7版本,本节搭建的是基于Python3的Django网站,所以需要升级到Python3版本。uwsgi_cache_path指令值参数如表所示。

吴声子夜歌的博客 205

Tengine企业级Web服务器:从Nginx优化到高并发架构实战

Web服务器作为互联网服务的流量入口,其性能与稳定性直接影响业务承载能力。Nginx以其事件驱动架构和高并发处理能力成为行业标准,但在企业级大规模部署中常面临性能瓶颈、模块管理复杂等挑战。Tengine作为基于Nginx深度定制的企业级强化版本,通过动态模块加载、一致性哈希负载均衡、请求合并等核心技术,解决了生产环境中的实际痛点。其内置的syslog日志集成、流量镜像等功能,为高可用架构和运维监控提供了完整解决方案。本文聚焦Tengine的核心特性与实战配置,通过性能调优参数详解和典型应用场景剖析,帮助工程

weixin_30954265的博客 421

Web与Nginx网站服务(改)

​ Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器。Nginx 是由 Igor Sysoev 为俄罗斯访问点开量第二的 Rambler.ru 站发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011 年 6 月 1 日,Nginx 1.0.4 发布。

m0_46589218的博客 1136

高效部署NGINX服务器于云平台

本文介绍如何在Google Cloud Compute平台上部署NGINX服务器,创建虚拟机镜像,并探讨了如何利用NGINX为Google App Engine应用程序提供服务。同时,也涵盖在Docker环境下使用NGINX的快速部署方法。

weixin_42581846的博客 922

四阶龙格库塔法求解一次常微分方程组(python实现)

之前在博客发布了关于使用四阶龙格库塔方法求解一次常微分方程组的文章,由于代码缺少具体的验证,部分朋友可能存在疑问,因此这里打算再重新写一篇博客来验证一下程序的正确性,另外,这里是使用python语言来实现的。

HelloWorldTM的博客 8542

从零搭建Nginx文件服务器:配置详解与安全运维实战

在分布式协作与数据共享场景中,HTTP静态文件服务是基础且关键的技术组件。其核心原理是通过Web服务器软件高效、安全地响应客户端的文件请求。相较于简单的文件共享方式,专业的文件服务器技术能提供稳定的高并发访问、精细的权限控制与带宽管理,具有显著的工程价值。它广泛应用于团队内部资源分发、软件包仓库、数据集共享等场景。本文聚焦于使用Nginx这一高性能Web服务器实现该目标,深入讲解其配置细节,涵盖目录浏览、访问认证、限速优化等核心模块,并分享生产环境下的安全加固与故障排查经验,帮助读者构建一个可靠、易用的文件

weixin_30321449的博客 419

国产射频直采收发器CX8242KA JESD204C调试

杭州诚芯公司的CX8242KA是国内开发的极少数支持JESD204C接口的高速AD、DA,Serdes具备支持接收和发送,并且速率可以到25Gbps,在国内属于领先水平。250M参考时钟输入,AD采样率2.5G,DA采样率10G,3收2发,主通道模式4,反馈通道模式1,基带采样率1250M,线速率20.625G,收发同时配置混频625M。CX8242KA的204C接口模式支持10种模式,在手册上都有说明。2、 支持TX信道编码,RX信道解码,提升健壮性。这里使用模式4,支持双通道模式,并且反馈开启。

RFSOC的博客 6219

零基础Linux运维实战:从入门到部署Web服务器的完整学习路径

Linux操作系统作为现代互联网基础设施的核心基石,其稳定性和开源性使其成为服务器领域的绝对主流。理解Linux系统原理,特别是进程管理、文件权限和网络配置等核心机制,是掌握运维技术的关键。这些基础概念直接决定了系统的安全性、稳定性和性能表现,对于构建可靠的服务架构具有重要价值。在云计算和DevOps广泛应用的今天,掌握Linux运维技能能够有效支撑Web服务部署、自动化脚本编写和系统监控等实际场景。本文通过Nginx服务器部署这一典型实战项目,系统讲解Linux命令操作、服务管理和Shell脚本编写等核心

weixin_30613343的博客 594

python blp模型 估计_随机系数Logit模型及Stata实现

欢迎投稿(荐稿)计量经济圈,计量相关都行邮箱:econometrics666@sina.cn作者:北京交通大学经济管理学院博士生,王琦珀。欢迎你加入计量经济圈社群,一起探讨前沿计量理论和实证方法。一、随机系数Logit模型1.背景实证产业组织(Empirical Industrial Organization,EIO)是目前产业组织理论的前沿,其中又以Ariel Pakes为带头人,其近期工作论文...

weixin_42298927的博客 2641

LlamaIndex 入门实战

LlamaIndex是一个“数据框架”,用于帮助构建LLM应用程序。它提供了各种工具,包括数据连接器,用于摄取现有数据源和数据格式(API,PDF,文档,SQL等),以及用于将数据结构化(索引,图形)以便与LLM轻松使用的方式。此外,LlamaIndex还提供了高级的检索/查询接口,可以输入任何LLM输入提示,并返回检索到的上下文和增强知识的输出。它还允许与外部应用程序框架(如LangChain,Flask,Docker,ChatGPT等)轻松集成。

AIGC搞起 1万+

Nginx安全加固指南(CentOS系统下的Web服务器安全配置实战)

通过以上步骤,你已经完成了基础的Nginx服务器安全配置。安全是一个持续的过程,建议定期关注官方安全公告,及时打补丁。记住:没有绝对安全的系统,但我们可以让它变得足够难攻破!

本人是新手,有一定的了解不到位,望海涵 758

SAP FICO CBS接口-银企直连付款平台功能开发说明书(包括测试样例、FS)

SAP FICO CBS接口-银企直连付款平台功能开发说明书(包括测试样例、FS)

我好像病了的博客 2447

高性能 Web 服务器之Tengine

Tengine是一个由淘宝网发起的 Web 服务器项目。它基于 Nginx 然后针对大访问量网站的需求,添加了很多高级功能和特性,从 2011 年 12 月开始,Tengine 正式开源。Tengine 的性能和稳定性已经100多家大型网站如淘宝网,天猫商城、Youku、AliExpress、 Lazada 、Alibaba Cloud等得到了生产型检验。

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 2446

Unity之ASE如何实现UV扰动闪电效果

UV扰动,顾名思义,就是通过干扰原贴图的UV,使UV发生变化,导致贴图出现会动的效果,如果我们贴图和扰动的速度调整的刚好合适的话,会出现一些非常棒的效果,比如下图所示的闪电效果:好了,一个简单的UV扰动就讲完了,同学们可以发挥想象力,我们是否可以利用UV扰动的原理,做一点别的炫酷的效果出来,比如,交错流动,流光效果等等。很期待你的留言,这篇文章就到这里,希望对你有所帮助。

TxNet 1789

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

使用Nginx Lua Security增强你的Web服务器安全

使用Nginx Lua Security增强你的Web服务器安全 去发现同类优质开源项目:https://gitcode.com/ 在互联网时代,网站的安全性是至关重要的。 是一个开源项目,它利用Nginx 和 OpenResty 的Lua扩展能力,为你的Web服务器提供了额外的安全层。本文将探讨该项目的核心功能、技术实现和应用场景。 项目简介 Nginx Lua Security是一个基于lua...

gitblog_00015的博客 521

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Nginx 实战系列(二)—— Nginx 配置文件与虚拟主机搭建

Nginx配置与虚拟主机搭建指南 本文深入解析Nginx核心配置与虚拟主机搭建。主要内容包括:Nginx配置文件结构解析,涵盖全局配置、I/O事件优化和HTTP模块设置;详细讲解Web服务监听配置;重点介绍Nginx虚拟主机实现方案,包括状态统计模块的配置方法(通过HTTP_STUB_STATUS模块监控服务器性能)。通过配置示例和实操步骤,帮助读者掌握从基本配置到多站点管理的Nginx核心功能,为Web服务部署和性能优化提供实用指导。

荣光波比的博客 1370

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Windows RTMP流媒体服务器搭建指南:nginx-rtmp-win32快速部署教程

nginx-rtmp-win32是一个为Windows系统预编译的Nginx RTMP模块版本,让用户能够在5分钟内搭建专业的RTMP流媒体服务器。这个开源项目集成了Nginx 1.14.1和rtmp-module 1.2.1,支持实时直播、HLS流媒体和状态监控,是个人直播、在线教育和小型企业搭建流媒体服务的理想选择。 ## 为什么选择nginx-rtmp-win32流媒体服务器 **零配置

gitblog_00499的博客 773

高性能开源 Web 服务器软件--Nginx

Nginx是一款高性能开源Web服务器,具备反向代理、负载均衡和HTTP缓存等功能,采用事件驱动架构解决高并发问题。核心优势在于高效处理静态内容、流量分发和SSL终止。相比Apache的多进程模型、Caddy的易用性、IIS的Windows集成以及OpenResty的可编程性,Nginx在高并发场景表现最佳。选型建议:追求性能选Nginx,灵活配置用Apache,快速部署考虑Caddy,Windows环境使用IIS,API网关开发推荐OpenResty。Nginx及其衍生版本在高流量互联网场景中占据主导地位

翔云 897
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值