nginx

nginx简介

高性能发HTTP和反向代理服务器,特点是占用内存少、并发能力强。专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,有报告表面,最高支持5万并发连接数

nginx安装

1、安装nginx相关依赖

安装gcc、g++,用来编译源码;

$ yum install -y gcc gcc-c++
PCRE,Perl正则表达式;

$ yum install pcre pcre-devel
zlib,gzip压缩;

$ yum install zlib zlib-devel
OpenSSL,SSL协议。

$ yum install openssl openssl-devel

2、nginx的安装

1)下载nginx解压
2)进入解压文件目录
3)执行./configure
4)执行make && make install
5)进入/usr/local/nginx/sbin下使用脚本启动nginx
nginx常用命令

1、前提:使用nginx命令前,首先进入到nginx的目录

/usr/local/nginx/sbin

2、查看nginx版本号

./nginx -v

3、启动nginx

./nginx

4、关闭nginx

./nginx -s stop

5、重新加载nginx(重新加载配置文件)

./nginx -s reload
nginx配置文件

1、配置文件位置

/usr/local/nginx/conf/nginx.conf

2、配置文件组成

1)全局块:配置服务器整体运行的配置指令
	eg:worker_processes 1; 处理并发数的配置
2)events块:影响Nginx服务器与用户的网络连接
	eg: worker_connection  1024; 支持的最大连接数1024
3)http块
	http全局块
		http全局块配置的指令包括文件引入、MIME-TYPE定义、日志定义、连接超时时间、单连接请求上限等
	server块

3、location配置说明
在这里插入图片描述

nginx 反向代理

图解反向代理
在这里插入图片描述

1)正向代理:在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网的访问
2)反向代理:将请求发给反向代理服务器nginx,由反向代理服务器去选择目标服务器获取数据,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器ip地址。

配置文件修改
在这里插入图片描述
在这里插入图片描述

nginx 负载均衡

图解负载均衡
在这里插入图片描述

增加服务器的数量将请求分发到不同的服务器上,将原先请求集中在一台服务器的情况改为将请求分发到多台服务器上,将负载分发到不同的服务器。

负载均衡策略

1) 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除
2) 权重(weight)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,weight代表权重,默认为1,权重越高被分配的客户端越多
在这里插入图片描述
3) Ip_hash
每个请求按访问ip的hash结果分配,这样每个访问固定访问一个后端服务器,可以解决session问题。
在这里插入图片描述
4) fair(第三方)
按服务器的响应时间来分配请求,响应是极端的优先分配
!](https://img-blog.csdnimg.cn/20200212115644437.png)
在这里插入图片描述

配置方式
1) 在HTTP块中增加一个upstream模块

upstream  myserver{
	Server   ip地址:端口号;
	Server   ip地址:端口号;
}

2) 在server中的location中增加如下

Server {
	Location / {
		Proxy_pass  http://myserver;
	}
}

配置实例
在这里插入图片描述

nginx 动静分离

为了加快服务器的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力

图解动静分离
在这里插入图片描述
在这里插入图片描述

nginx 高可用集群

图解高可用
在这里插入图片描述
准备
1)准备两台linux服务器
2)两台都安装nginx
3)安装keepalived
4)修改keepalived的配置文件(/etc/keepalived/keepalived.conf)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

最终在浏览器地址输入虚拟IP即可

nginx 原理

master && worker
在这里插入图片描述

在这里插入图片描述
master-workers的机制的好处
首先,对于每个worker进程来说,独立的进程,不需要加锁,所以省掉了锁带来的开销,同时在编程以及问题查找时,也会方便很多。其次,采用独立的进程,可以让互相之间不会影响,一个进程退出后,其它进程还在工作,服务不会中断,master 进程则很快启动新的worker进程。当然,worker进程的异常退出,肯定是程序有bug了,异常退出,会导致当前worker.上的所有请求失败,不过不会影响到所有请求,所以降低了风险。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值