Nginx
文章平均质量分 72
Nginx的语法介绍,不含Nginx源码角度剖析内容
董哥的黑板报
90后程序员!
展开
-
Nginx:01---Nginx简介
一、Nginx简介Nginx是俄罗斯软件工程师Igor Sysoev在为Rambler Media(http://www.rambler.ru/ )工作期间,使用C语言开发的免费开源Web服务器软件 Nginx于2004年发布,聚焦于轻量级、高并发、高性能、高度模块化的设计与低内存消耗问题 2011年7月,Nginx正式成立公司,由Igor Sysoev担任CTO,立足于提供商业级的Web服 务器 它具有多种Web服务器功能特性:负载均衡、缓存、访问控制、带宽控制以及高效整合各种应用的能力 Ig原创 2020-05-22 13:14:04 · 939 阅读 · 0 评论 -
Nginx:02---使用包管理器安装Nginx
一、在Centos上安装Nginx第一步:创建下面的文件,在系统中添加Nginx仓库的yum配置:sudo vim /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1第二步:执行下面的命令,从上面配置文件中的URL中下载安装nginx发行版本sudo yum install nginx原创 2020-05-22 18:47:07 · 973 阅读 · 0 评论 -
使用源码包编译安装Nginx
Nginx 代码提供了两种独立的下载分支一一开发版与稳定版。开发分支是个正处于 积极开发状态的版本。在这个版本中,会有一些新功能被集成到其中,在稳定版中是找不到这些功能的。当发布 个“开发”版时,它会经历同样的 QA 和作为稳定版的一组类似 功能测试。因此,无论哪 个分支都可以用于生产环境中。两者主要的不同,在于对第 方模块的支持。在开发版中,内部的 API 可能会发生改变,而稳定版则保持不变。因此, 为了与第 方模块向下兼容,在稳定版中第三方模块都可以有效使用一、安装前的准备安装Nginx前需要准备原创 2020-05-23 08:21:21 · 1444 阅读 · 0 评论 -
Nginx:04---Nginx的命令行控制
在默认的情况下: Nginx安装在/usr/local/nginx/下 可执行的Nginx文件为/usr/local/nginx//sbin/nginx 默认的配置文件为/usr/local/nginx/conf/nginx.conf 一、Nginx启动的几种方式①默认启动方式执行执行Nginx二进制程序。例如:sudo /usr/local/nginx/sbin/nginx默认的启动方式会读取默认路径下的配置文件:/usr/local/nginx/conf/nginx.原创 2020-05-23 08:51:51 · 2355 阅读 · 0 评论 -
Nginx:05---Nginx配置文件语法
配置文件由“配置块”和“配置项”组成。格式如下:<section> { <directive> <parameters>; <section> { <directive> <parameters>; ... } ...}一、配置块配置块也称为“节”或“部分” 配置块由一个块配置项名和一对大括号组成。例如:events {}配置块是可以嵌套的,内层原创 2020-05-23 13:22:34 · 1268 阅读 · 0 评论 -
Nginx:06---Nginx全局配置指令
一、Nginx全局配置指令全局配置部分被用于配置对整个server都有效的参数 一些重要的全局配置指令如下:例如,下面是一个简单的配置文件user www;worker_processes 12;error_log /var/log/nginx/error.logpid /var/run/nginx.pidevents { use /dev/poll; work_connections 2048;}二、server配置块:专属HTTP部分原创 2020-05-23 14:52:20 · 1530 阅读 · 0 评论 -
Nginx:07---HTTP模块之(http模块概述、http模块核心指令)
一、Nginx的系统架构在正式提供服务的产品环境下,部署Nginx时都是使用一个master进程来管理多个worker进程,一般情况下,worker进程的数量与服务器上的CPU核心数相等。每一个worker进程都是繁忙的,它们在真正地提供互联网服务,master进程则很“清闲”,只负责监控管理worker 进程。worker进程之间通过共享内存、原子操作等一些进程间通信机制来实现负载均衡等功能 部署后Nginx进程间的关系如下图所示:Nginx按照master/worker方式配置同时启动多个进原创 2020-05-24 10:33:03 · 1160 阅读 · 0 评论 -
Nginx:08---HTTP模块之(虚拟服务器:server模块)
一、虚拟服务器(server模块)Nginx配置文件必须至少包含一个服务器指令来定义虚拟服务器。 当Nginx处理请求时, 它首先选择提供请求的虚拟服务器,这些虚拟服务器响应HTTP请求,因此它们都包含在http模块中 虚拟服务器由http模块中的server模块来定义,一个http模块中可以有多个server模块,每个server都相当于一个虚拟服务器实例 例如,下面有两个http虚拟服务器,一个监听8888,一个监听9999http { server { listen原创 2020-05-24 11:58:44 · 1734 阅读 · 0 评论 -
Nginx:09---HTTP模块之(URI请求与重定向:location模块)
一、location模块介绍location指令可以用在虚拟服务器server部分,并且意味着提供来自客户端URI或者内部重定向访问。除少数情况外,location也可以被嵌套使用,它们被作为特定的配置尽可能地处理请求格式location会尝试根据用户请求中的URI来匹配,如果可以匹配就选择该location来处理用户请求 格式如下:location [modifier] uri { #...}其中modifier是修饰符,支持下面几种: =:表示把URI作为字符串,以便原创 2020-05-24 13:03:06 · 2627 阅读 · 0 评论 -
Nginx:10---HTTP模块之(其他语法与指令:变量、状态码、客户端交互指令、sub_filter、limit、约束访问、流媒体、HTTP/2、Fast_CGI、uWSGI)
一、变量配置文件也支持使用变量,你可以使用set、map或geo指令自定义变量。当然系统也提供了许多预定义的变量,如核心HTTP变量 变量是在运行时计算的值,作用指令的参数 注意事项: 一个变量名由$符号开头 系统预定义变量是不允许重新定义的,如果重新定义那么会产生下面的错误: HTTP预定义变量下面列出了http模块中的预定义变量二、返回特定状态码一些网站URI需要立即返回具有特定错误或重定向代码的响应,例如当页面被暂时移动或永久移动时。简单的方法是使用return原创 2020-05-24 21:57:24 · 809 阅读 · 0 评论 -
Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)
待续原创 2020-05-25 14:57:58 · 2691 阅读 · 2 评论 -
Nginx:12---反向代理之(代理模块,代理单个上游服务器)
一、反向代理介绍反向代理应该是 Nginx 做的最多的一件事了,什么是反向代理呢,反向代理(Reverse Proxy)方 式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器, 并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表 现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要 一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同原创 2020-05-25 15:42:57 · 2579 阅读 · 2 评论 -
Nginx:13---反向代理之(负载均衡:upstream模块(代理多个上游服务器))
一、复杂均衡概述负载均衡也是 Nginx 常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行 执行,例如 Web 服务器、FTP 服务器、企业关键应用服务器和其它关键任务服务器等,从而 共同完成工作任务。简单而言就是当有 2 台或以上服务器时,根据规则随机的将请求分发到 指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负 载均衡。而 Nginx 目前支持自带 3 种负载均衡策略,还有 2 种常用的第三方策略二、三、...原创 2020-05-25 17:20:04 · 3836 阅读 · 0 评论 -
Nginx:15---反向代理之(安全隔离:SSL流量加密、SSL客户端身份验证、基于原始IP地址阻止流量)
通过代理分开了客户端到应用程序服务器的连接,实现了安全措施。这是在一个架构中使用反向代理的主要原因之一。客户端仅直接连接运行反向代理的机器,这台机器应该足够安全,以至于攻击者找不到任何入口 安全是一个相当大的话题,我们在这里只是简单地就该要点来观察 在反向代理之前设置防火墙,仅允许公网访问80端口(如果HTTPS连接提供443端口,那么也包括该端口) 确保Nginx使用一个非特权用户运行(典型的用户WWW、webservd或者WWW-data,这依赖于具体的操作系统) 加密的流量可以防止窃听原创 2020-12-21 10:32:22 · 13748 阅读 · 0 评论 -
Nginx:17---反向代理之(反向代理服务器的性能调优:缓冲数据、缓存数据、存储数据、压缩数据(gzip模块))
一、缓冲数据二、缓存数据三、存储数据四、压缩数据(gzip模块)原创 2020-12-21 10:32:29 · 1269 阅读 · 1 评论