茂展的分享博客

Nginx

Nginx

nginx安装

nginx安装手册,这个讲解的特别详细,nginx安装手册
安装成功之后你在本地输入之后会看到,如果访问不到,请检查防火墙问题
nginx默认主页面

nginx主要的功能

Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器

主要功能

  1. 反向代理
    正向代理:某些情况下,代理我们用户去访问服务器,需要用户手动的设置代理服务器的ip和端口号。
    反向代理:是用来代理服务器的,代理我们要访问的目标服务器。代理服务器接受请求,然后将请求转发给内部网络的服务器(集群化),并将从服务器上得到的结果返回给客户端,此时代理服务器对外就表现为一个服务器。

    反向代理的优点: 1、充当防火墙 2、可以使负载均衡

    Nginx在反向代理上,提供灵活的功能,可以根据不同的正则采用不同的转发策略

  2. 负载均衡
    多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务从而提高了数据的吞吐量
    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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
deny 192.168.13.130; # 禁止192.168.13.130域名访问
allow 192.168.13.0/131; # 表示允许192.168.13.0到192.168.13.131之间的域名访问
deny all; # 表示除了上面允许的ip能够访问意外,其他都不允许访问
root /home/ynn;
index index.html index.htm;
}

上面的listen表示监听的端口是80,server_name,对应的域名是localhost,
location后面有一个 /表示访问localhost/会去服务器/home/ynn下去查找
我一般用nginx作为反向代理,使用ftp提高文件给服务器,然后使用反向代理的方式去访问服务器中的内部资源

nginx的负载均衡配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
upstream nyist_mall {
server 192.168.13.131:8081 weight = 5 max_fails=3 fail_timeout=30s;
server 192.168.13.131:8082 weight = 3;
server 192.168.13.131:8083 weight = 2;
}
server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
proxy_pass http://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认定对应的服务已经挂掉,然后自己从备用转成主用。重启后,再次回到原先的主备状态

------本文结束感谢阅读------
🐶 您的支持将鼓励我继续创作 🐶