Nginx概述

背景

        当网站的访问量达到一定的数量后,单台服务器不能满足用户的请求,需要多台服务器时,这时候就可以用Nginx来做反向代理。并且多台服务器可以平均分担负载,不会因为一台服务器闲置,而另一台服务器负载高而怠机。

        如图所示:当用户访问地址时,通过阿里云服务器,可以代理到Nginx服务器上,利用Nginx内置的算法(轮询和weight算法),将发送的请求转发到最底层的集群服务器上面,这样可以有效的减少单台服务器的压力。


是什么

         NginxC语言开发的高性能HTTP服务器及反向代理服务器,由俄罗斯的程序设计师研发。


作用

        主要作用包括反向代理和负载均衡

        反向代理:反向代理是指以代理服务器来接收internet上的请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给用户,此时代理服务器对外就表现为一个服务器。

        负载均衡:负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务。通过这种负载分担技术,将外部发送来的请求均匀分配到对称结构中的每一台服务器上,而接受到请求的服务器独立的回应用户的请求。均衡负载能够平均分配客户请求,以快速获得数据,解决大量并发访问服务的问题。


优点

        官方测试Nginx能够支撑5万并发量,并且CPU/内存等资源消耗非常的低,运行非常的稳定。

 

轮询算法

按用户请求顺序把用户的请求逐一分配到不同端口的服务器,如果后端服务器宕机,该服务器会自动被剔除,请求会分配给正常的服务器,不会影响用户的访问。

 

weight算法

weight算法是在轮询的基础上加上权重(默认是rr+weight),权重和访问成正比,权重越大,转发给你的请求越多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
1、高性能Web服务器Nginx的配置与部署研究(1)Nginx简介及入门示例 内容:概述Nginx的背景知识和简单的入门实例。 2、高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置与部署及“Hello World” 内容:简述Nginx的基本配置项,并提供Nginx的基本部署方法和Hello World测试用例。 3、高性能Web服务器Nginx的配置与部署研究(3)Nginx的请求处理方式 内容:该文翻译自Nginx.org官网,为读者详述Nginx对HTTP请求的处理方式。 4、高性能Web服务器Nginx的配置与部署研究(4)Nginx常用命令 内容:Nginx部署中常用的命令,包括启动、测试、停止、发送信号等。 5、高性能Web服务器Nginx的配置与部署研究(5)Nginx配置符号 内容:这篇简短的博文,提供Nginx的配置文件中常出现的符号的用法。 6、高性能Web服务器Nginx的配置与部署研究(6)核心模块之主模块的测试常用指令 内容:详解Nginx的主模块中,测试时经常使用的指令。 7、高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令 内容:详解Nginx的主模块中,非测试常用指令的使用方式。 8、高性能Web服务器Nginx的配置与部署研究(8)核心模块之事件模块 内容:详解Nginx的事件模块中常用指令。 9、高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令 内容:详解Nginx的HTTP模块中的常用指令。 10、高性能Web服务器Nginx的配置与部署研究(10)核心模块之HTTP模块Location相关指令 内容:单独将Nginx的HTTP模块中的Location相关指令提出,这是Nginx配置文件中的核心重点内容。该博文仍未完结,在不断更新中。 11、高性能Web服务器Nginx的配置与部署研究(11)应用模块之Memcached模块的两大应用场景 内容:以Nginx中的Memcached模块的使用的两大场景为例,展现Memcached模块的使用特点。 12、高性能Web服务器Nginx的配置与部署研究(12)应用模块之Memcached做文件缓存时压缩引起的问题 内容:续该系列博文中的第11篇,讲述Memcached使用时产生的问题,并分析原因所在。 13、高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式 内容:讲述一种提供双层缓存抗穿透的HTTP服务缓存解决方案。 14、高性能Web服务器Nginx的配置与部署研究(14)平滑升级你的Nginx 内容:详述如何为Nginx平滑升级或新增编译模块。 15、高性能Web服务器Nginx的配置与部署研究(15)Upstream负载均衡模块 内容:讲述Nginx的HttpUpstreamModule如何实现对后端服务器的HTTP请求的负载均衡。 16、高性能Web服务器Nginx的配置与部署研究(16)小议location匹配模式优先级 内容:介绍 location 区段的模式匹配的几种基本方式(匹配符),以及优先级顺序,并提供实例分析。
目 录 完整诠释Nginx 分享Nginx的实战经验 不可多得的Nginx一手资料 联系博文视点 序言 第1部分 基础篇 第1章 Nginx简介 1.1 常用的Web服务器简介 1.2 Nginx的发展 1.3 选择Nginx的理由 1.4 Nginx与Apache、 Lighttpd的综合对比 第2章 Nginx服务器的安装与配置 2.1 安装Nginx服务器所需要的系统资源 2.2 Nginx的下载 2.3 Nginx的安装 2.4 Nginx的启动、 停止、 平滑重启 2.5 Nginx的平滑重启 2.6 Nginx的信号控制 2.7 Nginx的平滑升级 第2部分 进阶篇 第3章 Nginx的基本配置与优化 3.1 Nginx的完整配置示例 3.2 Nginx的虚拟主机配置 3.3 Nginx的日志文件配置与切割 3.4 Nginx的压缩输出配置 3.5 Nginx的自动列目录配置 3.6 Nginx的浏览器本地缓存设置 第4章 Nginx与PHP( FastCGI) 的安装、 配置与优化 4.1 获取相关开源程序 4.2 安装PHP 5.2.10( FastCGI模式) 4.3 安装Nginx 0.8.15 4.4 配置开机自动启动Nginx+PHP 4.5 优化Linux内核参数 4.6 在不停止Nginx服务的情况下平滑变更Nginx配置 4.7 编写每天定时切割Nginx日志的脚本 第5章 Nginx与JSP、 ASP.NET、 Perl的安装与配置 5.1 Nginx与JSP( Tomcat) 在Linux上的安装、 配置 5.2 Nginx与ASP.NET( Mono+FastCGI) 在Linux上的安装、 配置 5.3 Nginx与Perl( FastCGI) 在Linux上的安装、 配置 第6章 Nginx HTTP负载均衡和反向代理的配置与优化 6.1 什么是负载均衡和反向代理 6.2 常见的Web负载均衡方法 6.3 Nginx负载均衡与反向代理的配置实例 6.4 Nginx负载均衡的HTTP Upstream模块 6.5 Nginx负载均衡服务器的双机高可用 第7章 Nginx的Rewrite规则与实例 7.1 什么是Nginx的Rewrite规则 7.2 Nginx Rewrite规则相关指令 7.3 PCRE正则表达式语法 7.4 Nginx的Rewrite规则编写实例 7.5 Nginx与Apache的Rewrite规则实例对比 第8章 Nginx模块开发 8.1 Nginx模块概述 8.2 Nginx模块编写实践 第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块 9.1 什么是Web缓存 9.2 Nginx的Web缓存服务 9.3 新浪网开源软件项目——基于Nginx的NCACHE网页缓存系统 第3部分 实战篇 第10章 Nginx在国内知名网站中的应用案例 10.1 Nginx反向代理与负载均衡类网站应用案例 10.2 Nginx+PHP类网站应用案例 10.3 Nginx视频点播类网站应用案例 第11章 Nginx的非典型应用实例 11.1 用HTTPS( SSL) 构建一个安全的Nginx Web服务器 11.2 采用Nginx搭建FLV视频服务器 11.3 Nginx+PHP+MySQL在小内存VPS服务器上的优化 11.4 采用Nginx搭建正向代理服务器 第4部分 模块篇 第12章 Nginx的核心模块 12.1 主模块指令 12.2 主模块变量 12.3 事件模块指令 第13章 Nginx的标准HTTP模块 13.1 HTTP的核心模块 13.2 HTTP Upstream模块 13.3 HTTP Access模块 13.4 HTTP Auth Basic模块 13.5 HTTP Autoindex模块 13.6 HTTP Browser模块 13.7 HTTP Charset模块 13.8 HTTP Empty Gif模块 13.9 HTTP Fcgi模块 13.10 geo模块 13.11 Gzip模块 13.12 HTTP Headers模块 13.13 HTTP Index模块 13.14 HTTP Referer模块 13.15 HTTP Limit Zone模块 13.16 HTTP Limit Req模块 13.17 HTTP Log模块 13.18 HTTP Map模块 13.19 HTTP Memcached模块 13.20 HTTP Proxy模块 13.21 HTTP Rewrite模块 13.22 HTTP SSI模块 13.23 HTTP Userid模块 第14章 Nginx的其他HTTP模块 14.1 HTTP Addition模块 14.2 Embedded Perl模块 14.3 Flv Stream模块 14.4 HTTP Gzip Static模块 14.5 HTTP Random Index模块 14.6 HTTP Geo IP模块 14.7 HTTP RealIp模块 14.8 HTTP SSL模块 14.9 HTTP Stub Status模块 14.9.1 stub_status指令 14.10 HTTP Sub模块 14.11 HTTP Dav模块 14.12 Google Perftools模块 14.13 HTTP XSLT模块 14.14 HTTP Secure Link模块 14.15 HTTP Image Filter模块 第15章 Nginx的邮件模块 15.1 Nginx邮件核心模块 15.2 Nginx邮件认证模块 15.3 Nginx邮件代理模块 15.4 Nginx邮件SSL模块 15.5 Nginx邮件模块配置实例 索引 参考资料 编辑手记 《 实战Nginx: 取代Apache的高性能Web服务器》 读者交流区 勃勃生机, 潇洒开源 反侵权盗版声明 实战Nginx: 取代Apache的高性能Web服务器
1. Nginx简介 1.1. 什么是nginx 1.2. Nginx的优点 1.3. 哪里使用到nginx 1.4. Nginx和Apache的区别 2. 安装Nginx服务器 2.1. 在windows上安装 2.2. 在Linux上安装 2.2.1. 写在前面 2.2.2. 准备使用yum安装nginx的运行环境 2.2.3. 安装pcre 2.2.4. 安装zlib库 2.2.5. 安装nginx 2.2.6. 控制nginx 2.2.7. nginx安装服务 3. Nginx的配置文件详解 3.1. Nginx的主配置文件概述 3.1.1. 认识配置文件 3.1.2. nginx的配置文件结构 3.1.3. nginx的全局配置 3.2. events配置 3.3. http的配置 3.4. nginx重要指令之location 4. nginx中的rewrite 4.1. 什么是rewrite 4.2. rewrite的命令的作用域和优先级 4.3. if指令 4.3.1. if指令的语法 4.3.2. if指令中使用的逻辑运算符 4.3.3. If指令中可以使用的变量 4.3.4. if指令实例 4.4. rewrite指令 4.4.1. rewrite指令语法 4.4.2. flag标记 4.4.3. set指令 4.4.4. return指令 4.4.5. rewrite实例 5. nginx的虚拟主机 5.1. 什么是nginx的虚拟主机 5.2. 标准的虚拟主机配置 5.3. 规划虚拟主机的配置文件 6. 动静分离 7. nginx的反向代理 7.1. 什么是反向代理 7.2. 明确两个概念 7.3. 特点 7.4. 反向代理的配置 7.5. 可以将代理配置单独放在一个配置文件中 8. nginx的负载均衡(自学) 8.1. 什么是负载均衡 8.2. 负载均衡的优点 8.3. 负载均衡的分配策略 8.4. 负载均衡配置 9. 安装PHP 10. PHP-FPM 10.1. 什么是PHP-FPM 10.2. 为什么要是使用PHP-FPM 10.3. 安装并且启动PHP-FPM 10.3.1. 安装 10.3.2. fpm的配置 10.3.3. 启动和停止 10.3.4. 自启动php-fpm 10.3.5. 检查php-fpm是否启动 10.4. nginx使用php-fpm处理php
如果您希望配置一个LNMP(Linux + Nginx + MySQL + PHP)环境,以下是一些基本步骤: 1. 安装Linux操作系统:选择适合您的需求的Linux发行版,并将其安装在服务器上。 2. 安装Nginx:使用软件包管理器(如apt、yum等)安装Nginx。例如,在Ubuntu上可以使用以下命令安装Nginx: ``` sudo apt update sudo apt install nginx ``` 3. 配置Nginx:根据您的需求编辑Nginx的配置文件。主要的配置文件是`/etc/nginx/nginx.conf`,您可以根据需要进行修改。确保您正确配置了Nginx的虚拟主机和反向代理等设置。 4. 安装MySQL:使用软件包管理器安装MySQL数据库。例如,在Ubuntu上可以使用以下命令安装MySQL: ``` sudo apt update sudo apt install mysql-server ``` 安装过程中会提示您设置MySQL的root用户密码,请记住该密码。 5. 安装PHP:使用软件包管理器安装PHP及其相关扩展。例如,在Ubuntu上可以使用以下命令安装PHP及常用扩展: ``` sudo apt update sudo apt install php-fpm php-mysql ``` 6. 配置PHP和Nginx:编辑Nginx的虚拟主机配置文件(通常位于`/etc/nginx/sites-available/`目录下),将请求转发给PHP-FPM处理,确保PHP正确工作。 7. 重启服务:完成配置后,重启Nginx和PHP-FPM服务以使更改生效。 ``` sudo service nginx restart sudo service php-fpm restart ``` 这只是一个基本的LNMP环境配置概述,具体的配置细节和需求会因您的具体情况而异。您可以根据需要进一步定制和优化配置。希望这能帮到您!如果您有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值