Nginx配置与应用详解

作者 : 开心源码 本文共1256个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共208人阅读

前言

Nginx是由俄罗斯软件工程师Igor Sysoev开发的一个高性能的HTTP和反向代理商服务器,具有IMAP/POP3和SMTP服务器功能。Nginx最大的特点是对高并发的支持和高效的负载均衡,在高并发的需求场景下,是Apache服务器不错的替代品。目前,包括新浪、腾讯等知名网站都已使用Nginx作为Web应用服务器。本文带来的是Nginx配置与应用详解。

基础特性

基本功能

静态资源的web服务器,能缓存打开的文件形容符

反向代理商服务器,缓存、负载均衡

支持FastCGI

板块化,非DSO机制,过滤器gzip,SSI和图像大小调整等

支持SSL

扩展功能

基于名称和IP做虚拟主机

支持keepalive

支持平滑配置升级或者程序版本更新

定制访问日志,支持使用日志缓存以提高性能

支持url rewrite

支持路径别名

支持基于IP及客户的认证

支持速率限制,并发限制等

基本架构

一个master, 生成一个或者多个worker

事件驱动:kqueue, epoll, /dev/poll

消息通知:select, poll, rt signals

支持sendfile, sendfile64

文件AIO

支持mmap

板块类别

核心板块

标准http板块

可选的http板块

邮件板块

第三方扩展板块

基本配置

虚拟主机

Nginx配置与应用详解

虚拟主机基本配置完成,当然虚拟主机里也可以有很多参数的,下文会提及到

访问控制

基于客户

认证文件由htpasswd命令创立

Nginx配置与应用详解

访问测试

Nginx配置与应用详解

基于IP

Nginx配置与应用详解

重启服务后访问测试

Nginx配置与应用详解

压缩功能

nginx将响应报文发送至用户端之前可以启用压缩功能,这能够有效地节约带宽,并提高响应至用户

端的速度。通常编译nginx默认会附带gzip压缩的功能,因而,可以直接启用之。

Nginx配置与应用详解

未压缩访问测试

Nginx配置与应用详解

Nginx配置与应用详解

重启服务,压缩后测试

Nginx配置与应用详解

压缩成功

防盗链

(1) 定义合规的引用

Nginx配置与应用详解

(2) 拒绝不合规的引用

Nginx配置与应用详解

Nginx配置与应用详解

Nginx配置与应用详解

访问测试

Nginx配置与应用详解

Nginx配置与应用详解

反向代理商

Nginx通过proxy板块实现反向代理商功能。在作为web反向代理商服务器时,nginx负责接收用户请求,并能够根据URI、用户端参数或者其它的解决逻辑将客户请求调度至上游服务器上(upstream server)。

nginx在实现反向代理商功能时的最重要指令为proxy_pass,它能够将location定义的某URI代理商至指定的上游服务器(组)上。如下面的示例中,location的/uri将被替换为上游服务器上的/newuri。

Nginx配置与应用详解

Nginx配置与应用详解

缓存

nginx做为反向代理商时,能够将来自上游服务器的响应缓存至本地,并在后续的用户端请求同样内容时

直接从本地构造响应报文。

Nginx配置与应用详解

Nginx配置与应用详解

缓存前请求时间

Nginx配置与应用详解

缓存后请求时间

Nginx配置与应用详解

此时缓存目录应该有缓存文件生成

Nginx配置与应用详解

负载均衡

nginx可利用自身的upstream板块实现,upstream板块的负载均衡算法主要有三种,轮调(round-robin)、ip哈希(ip_hash)和最少连接(least_conn)三种。

Nginx配置与应用详解

Nginx配置与应用详解

Nginx配置与应用详解

如此便可实现简单的负载均衡功能

The end

好了,有关nginx的基础配置及应用就先说到这里了,第一次接触nginx,写的比较乱,敬请体谅。

来源:马哥教育

官方微信:magedu-linux

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Nginx配置与应用详解

发表回复