关注分享主机优惠活动
国内外VPS云服务器

Nginx配置文件nginx.conf基本配置实例详解

关于Nginx首先要知道的是它的功能和代理模式。Nginx的功能是负载均衡,代理模式是反向代理。

负载均衡:均衡转发到web服务器集群中各服务器的请求数量,防止服务器因处理请求压力过高或过低而造成内存溢出、停机或资源浪费。

反向代理:暴露的地址是代理服务器的地址,隐藏了真实服务器的地址,客户端向代理服务器发送请求。代理服务器根据配置规则选择真实服务器处理请求,然后将服务器返回的数据返回给客户端。此时,代理服务器看起来是向外部提供服务的服务器,客户端不知道代理,也不知道哪个服务器处理它的请求,不需要任何配置。

代理:比如你因为工作需要访问浏览器无法正常访问的服务器时,你要找一个可以访问该服务器的代理服务器。客户端请求发送到代理服务器,代理服务器访问服务器,然后将访问的数据返回给我们。这种代理模式称为转发代理。在转发代理过程中,真实客户端的信息被屏蔽或隐藏。服务器只知道请求来自哪个代理服务器,不清楚来自哪个客户端。但是,客户端知道要访问的服务器的地址。

即正向代理是客户端的请求,反向代理是服务器。

1.nginx配置示例。例如,如果页面请求地址是http://www.sayhi.com/products/pageManage,,则在nginx.conf中配置服务器,如下所示:

服务器{监听80;#监听80的服务端口server _ name www.sayhi.com;#侦听域名位置/{ root em static;索引index.html;}位置/产品{ proxy _ pass http://127 . 0 . 0 . 1:8103/zuul -product/product/manage;add _ header ' access -control -allow -Credentials ' ' true ';add _ header ' access -control -allow -Origin ' ' *;}}将域名www.sayhi.com和后缀/products与server_name和服务器中的位置匹配后,将剩余的url后缀/pageManage拼接到位置中配置项proxy_pass的url,通过网关访问服务器资源。

所以访问http://www.sayhi.com/products/pageManage,时,nginx配置后实际访问的地址是http://127 . 0 . 0 . 1:8103/zuul -product/product/manage/page manage。

2.Nginx负载平衡模式

2.1轮询依次访问后端的各个服务器。按此计算,相当于将请求平均分配到所有集群节点-物理平衡。首先准备一个上游的虚拟域名,保留后端服务器的详细信息。

上游ou server { server 127 . 0 . 0 . 1:8091;服务器128.0.0.2:8092;服务器129.0.0.3:8093;}nginx启动时加载到内存中的列表对象元素有三个,分别是8091 8092 8093。负载平衡的计算是通过这个列表完成的。在服务器中使用proxy_pass指向新创建的上游名称ouservers。

添加服务器案例

服务器{监听80;服务器名www.ou.com;location/{ proxy _ pass http://ou servers/;}}}当多个用户访问www.ou.com时,请求轮询将被转移到127.0.0.1:8091、128.0.0.2:8093和129.0.0.3:8093的服务器进行处理。

2.2重量总是按照物理平衡来分配,有时并不符合实际情况。根据情况,通过占用率的分配均衡逻辑就是权重(权衡比例)。基于权重轮询的完成,权重的关键词权重可以在上游轮询的基础上增加。权重值越高,转发的请求就越多(等于down的整数表示服务器不可访问)。

上游ouservers { #补充后端服务器IP:基于port -的服务器127 . 0 . 0 . 1:8091 weight = 10;服务器128.0.0.2:8092权重= 5;服务器129.0.0.3:8093权重= 1;}

2.3 Nginx解决集群共享会话的问题,可以使用session属性在单节点进程中存储一些数据。如果在会话中使用这些属性,集群就会出现问题,集群无法共享会话数据。会话是服务器端的技术,不同进程生成的会话对象不能一起使用,所以不能用会话技术实现带状态的请求功能。

数据通信共享:一个会话的会话会被所有节点存储,当并发度高时,集群中的每个节点会有大量的会话对象,容易导致服务器内存溢出。

Ip_hash Sticking:绑定服务器是按照ip hash残差计算的,但是可能会导致倾斜,部分服务器会因为倾斜严重而提前宕机。

采用第三方容器:会话数据不再本地存储在服务器中,采用第三方存储,使每台服务器都与这个第三方存储连接读写数据。但是,第三方的引入必然导致更多的网络接入带宽资源,这就要求容器技术具有更高的稳定性和速度。理论上,存储容器可以是关系数据库(比如mysql)。但是非关系数据库(比如redis)是更好的选择。

Nignx配置ip_hash附着只需要在上游“ip _ hash & quot的括号中填写一个关键属性。

上游ouservers { ip _ hash服务器127 . 0 . 0 . 1:8091;服务器127 . 0 . 0 . 1:8092;服务器127 . 0 . 0 . 1:8093;}

3.Nginx将静态和动态资源分开(静态资源和动态资源来自不同的服务器)。后端服务器集群是动态数据的来源,nginx作为http服务器代理,管理后端所需的文件和静态资源。在nginx服务器中,可以通过域url地址访问准备好的静态资源。

添加服务器案例(以Linux系统为例)

服务器{监听80;服务器名www.image.com;location/{ root/home/static;#关键字根配置项是静态资源的根目录索引default.html #没有找到指定静态资源时默认访问的静态资源}}具体流程如下:请求地址wp-content/uploads/1dg3padybry.jpg服务器中匹配位置后,将静态资源名tp.png连接到根配置项,然后根据地址拼接成该资源在Nginx server/home/home/Static/TP . png上的绝对地址,获取静态资源并返回浏览器页面显示给用户。

根配置项:可以是文件夹的绝对路径,比如Linux (root /home/static)和Windows(root C:/static)。也可以是文件夹相对路径root static(意思是nginx安装的根目录下有一个名为static的文件夹)。

索引配置项:表示当访问请求与根in位置匹配后,没有找到指定的静态资源时,默认访问的静态资源地址。Index还可以配置多个静态资源,如index、default1.html和default2.html。如果静态资源/home/static/default1.html不存在,则验证/home/static/default2.html是否存在,如果存在,则使用/default2.html在此服务器中启动内部重定向以重新匹配位置)

注意:配置Nginx.conf文件时,需要将资源ip和监听域名写入Nginx服务器的本地hosts文件(如127.0.0.1 www.sayhi.com)。

综上所述,这篇关于Nginx配置文件Nginx.conf的基本配置的文章已经介绍到这里了。关于nginx配置文件nginx.conf的更多信息,请搜索主机频道zhujipindao之前的文章。或者继续浏览下面的相关文章。希望大家支持主机频道zhujipindao。以后多来com!

未经允许不得转载:主机频道 » Nginx配置文件nginx.conf基本配置实例详解

相关推荐

评论 抢沙发

评论前必须登录!