Nginx基础配置

Nginx流程图:
这里写图片描述
下面来解释一波详细过程,
当客户端发送一个请求时,这个请求首先会进入 server里面,这个就相当于main方法,是一个入口,请求的地址寻去找对应server里的 server_name 和端口号, server_name 是一个url地址,nginx会根据这个url找到对应的location,再通过location里配置的 proxy_pass找到对应的upsteam,upsteam再通过各种负载均衡算法,将请求分配至相应的web app。(location里也可以不配置proxy_pass,直接指向web app。) 如果没有upsteam,则会找到相应的静态虚拟站点,通过location里的root的路径。

规则: http模块可包含多个server,server可包含多个location,一个location对应一个upsteam,location里也可以不配置proxy_pass,直接指向web app。Proxy_pass 可以指向一个upsteam或者一个具体的url,例如:http://www.baidu.com;

upsteam 负载均衡算法
1、默认算法(轮询、轮询+权重),weight 就是权重参数, 不添加这个属性,则8080 和8081轮询处理请求,加了以后会按照权重进行处理,也就是8080每处理2次,8081就处理1次。如下图配置

upsteam demo{

        server 127.0.0.1:8080 weight 2;
        server 127.0.0.1:8081 weight 1;

}

2、ip_hash算法,基于Hsah算法,可用于保持session跨域一致,但是,通过ip_hash算法后,同一ip地址,通过ip地址取模,都会指向一个tomcat,不同的ip地址取模后值是不一样的,所以会指向不同的tomcat,算法实现: Has(client%2)=index 得到一个index索引,取模定位是第几个服务器,从0开始。但是有一个弊端,一个ip只能访问这个据群众这一个服务器了,如果这个服务器挂掉了,那么绑定这个服务器的ip就都不能访问了,所以nginx负载均衡做的很好但是session就很弱,而且一般生产不会使用nginx那中ip绑定的。太浪费资源。(顺便记录下可以保持session一致的方案
二、使用redis缓存,保存在redis里,进行session管理,

三、Tomcat做会话同步
会话同步只适合小客户量的配置。如果访问用户特别多的话就不行了。一个用户访问一台服务器就要将一个session复制给其他的服务器。如果访问量特别多复制的就特别多。来回同步session会影响服务器的效率,同时也会占用服务器的内存。最终可能 会导致服务器宕机。
),代码如下,只需添加一行代码即可:

upsteam demo{

        ip_hash;   
        server 127.0.0.1:8080 weight 2;
        server 127.0.0.1:8081 weight 1;

}

3、fair 算法,就近原则,比以上两种智能的算法,此种算法可以依据页面大小和加载时间长短进行智能的负载均衡,也就是根据后端服务器响应时间长短精确的请求分配,也就是相应时间短的优先分配。Nginx本身是不支持fail的,如果需要使用这种调度算法,必须要下载Nginx的upsteam_fai,

暂无代码,后续补充

4、url_has算法,静态文件缓存,非官方的,必须下载第三方,模块儿Nginx的hash软件包,Hash(url) node_count= index 存放图片,根据图片的后缀地址来取模,确定存放在哪一个服务器上,极大的节约了存储空 间。
upsteam参数

upstream {
server 反向服务地址,加 端口,
weight 权重比,
max_fails =2 失败多少次,认为主机已经挂掉,则踢出,默认为2
fail_timeout 踢出后重新探测时间,健康检查
backup 备用服务器,其他服务器全部挂掉了这个才启用,也不会为其他 服务器做备份
max_conns 允许最大连接(Nginx连接到tomcat的最大连接数,默认是1W)
slow_start 当节点恢复,不立即加入。
}

nginx基础配置可以在其配置文件nginx.conf中找到。配置文件的路径通常是/nginx/conf/nginx.conf。 在nginx.conf文件中,可以设置许多选项来配置nginx的行为。其中一些基本的配置选项包括: - http块:在配置文件中,http块定义了全局的http配置,包括一些常用的配置项,如mime.types文件的引入、代理配置文件的引入、fastcgi配置文件的引入以及默认的索引文件等。 - server块:在http块中,可以有多个server块,每个server块定义了一个虚拟主机的配置信息。可以在每个server块中指定域名或IP地址,以及监听的端口号等。 - location块:在server块中,可以有多个location块,每个location块定义了一组匹配规则和对应的处理方式。可以通过location块来指定请求的URL匹配规则,并根据规则配置相应的处理方式,如代理请求到其他服务器、处理静态文件等。 此外,nginx还支持在配置文件中引入其他文件,以便更好地组织和管理配置。例如,可以在nginx.conf中使用include指令来引入其他配置文件,如mime.types、proxy.conf和fastcgi.conf。 总结起来,nginx基础配置可以在nginx.conf文件中找到,其中包括http块、server块和location块等配置项。可以使用include指令来引入其他配置文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Nginx的基本配置](https://blog.youkuaiyun.com/weixin_46007090/article/details/120105907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Nginx基础配置](https://blog.youkuaiyun.com/weixin_41968982/article/details/123687834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值