Nginx
nginx安装
nginx安装手册,这个讲解的特别详细,nginx安装手册
安装成功之后你在本地输入之后会看到,如果访问不到,请检查防火墙问题
nginx主要的功能
Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器
主要功能
反向代理
正向代理:某些情况下,代理我们用户去访问服务器,需要用户手动的设置代理服务器的ip和端口号。
反向代理:是用来代理服务器的,代理我们要访问的目标服务器。代理服务器接受请求,然后将请求转发给内部网络的服务器(集群化),并将从服务器上得到的结果返回给客户端,此时代理服务器对外就表现为一个服务器。反向代理的优点: 1、充当防火墙 2、可以使负载均衡
Nginx在反向代理上,提供灵活的功能,可以根据不同的正则采用不同的转发策略
- 负载均衡
多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务从而提高了数据的吞吐量
Nginx可使用的负载均衡策略有:轮询(默认)、权重、ip_hash(对负载均衡有破坏)
nginx模块
我们要好好研究一下Nginx的配置文件nginx.conf
daemon
daemon on| off:是否已进程的方式守护nginx
默认情况下是守护的,所以我们不用修改它
master_process
master_process on| off:默认一个master进程管理多个worker进程的,关闭之后nginx不会fork出子进程来处理请求,
默认是可以的,不用修改它
nginx pid
nginx进程的pid
nginx反向代理
1 | server { |
上面的listen表示监听的端口是80,server_name,对应的域名是localhost,
location后面有一个 /
表示访问localhost/会去服务器/home/ynn下去查找
我一般用nginx作为反向代理,使用ftp提高文件给服务器,然后使用反向代理的方式去访问服务器中的内部资源
nginx的负载均衡配置
1 | upstream nyist_mall { |
max_fails:表示请求连续失败三次就认定此服务器已经宕机,不再去请求该服务器
fail_timeout: 表示请求时长超过30s没有响应,表示请求失败
当我发送localhost访问服务器的时候,nginx负载均衡机制会把我的访问分发给三台服务器,这样可以实现将数据流量分摊给多台服务器执行,减轻每台服务器压力,多台服务器协作,增加数据的吞吐量
Nginx+Tomcat集群
和上面我配置的负载均衡相同,只需要把你的tomcat访问地址放在upstrea下面的server中皆可以了,然后设置自己的负责均衡策略
这样一个tomcat集群就设置完成了
keepalived + Nginx 实现nginx高可用
关于配置,我觉着这个博客写的就很好了,Keepalived+nginx高可用配置
我的理解:
首先我们必须要设置一个虚拟IP,然后我们使用keepalived绑定虚拟IP,nginx要和keepalived绑定在一起,当nginx宕机的时候,keepalived会检测到,然后停掉nginx,接着关闭自己,然后备用keepalived发送响应给主keepalived,然后在规定时间内没有发送成功,keepalived认定对应的服务已经挂掉,然后自己从备用转成主用。重启后,再次回到原先的主备状态