nginx

1
2
3
4
5
6
7
8
9
10
11
下载安装包 wget http://nginx.org/download/nginx-1.14.2.tar.gz
yum -y install wget

wget http://nginx.org/download/nginx-1.14.2.tar.gz

安装依赖项 yum -y install gcc zlib zlib-devel pcre pcre-devel openssl openssl-devel

解压、编译
tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx

可能会报错

1
2
3
4
5
6
[root@node02 nginx-1.14.2]# ./configure --prefix=/usr/local/nginx
checking for OS
+ Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... not found

./configure: error: C compiler cc is not found

解决方法:

1
yum -y install gcc gcc-c++ autoconf automake make

make && make install

cd /usr/local/nginx

[root@node02 nginx]# ll
total 16
drwxr-xr-x. 2 root root 4096 Feb  1 22:59 conf
drwxr-xr-x. 2 root root 4096 Feb  1 22:59 html
drwxr-xr-x. 2 root root 4096 Feb  1 22:59 logs
drwxr-xr-x. 2 root root 4096 Feb  1 22:59 sbin

[root@node02 nginx]# sbin/nginx 
[root@node02 nginx]# ps -ef | grep nginx
root       3772      1  0 23:00 ?        00:00:00 nginx: master process sbin/nginx
nobody     3773   3772  0 23:00 ?        00:00:00 nginx: worker process
root       3775   1070  0 23:00 pts/0    00:00:00 grep nginx

正向代理、反向代理

正向代理:类似一个跳板机,代理访问外部资源。当系统内部要访问外部网络时,统一通过一个代理服务器把请求转发出去,
在外部网络看来就是代理服务器发起的访问,此时代理服务器实现的是正向代理。

反向代理:实际运行方式是指以代理服务器来接收Internet 上的连接请求,然后将请求转发给内部网路上的服务器,
并将从服务器上得到的结果返回给Internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

nginx 一般用于七层负载均衡,nginx 目前提供了HTTP七层负载均衡,1.9.0版本也开始支持TCP四层负载均衡。

接入层、反向代理服务器、负载均衡服务器 一般都是指nginx
上游服务器(upstream server)指nginx 负载均衡到的处理业务的服务器,也称之为real server,即真实处理业务的服务器。

nginx 提供的负载均衡可以实现上游服务器的负载均衡、故障转移、失败重试、容错、健康检查等,当某些上游服务器出现问题时
可以将请求转发到其他上游服务器以保障高可用,并可以通过OpenResty 实现更智能的负载均衡,如将热点与非热点流浪分离、正常
流量与爬虫流量分离等。

nginx 负载均衡器本身也是一台反向代理服务器,将用户请求通过nginx代理到内网中的某台上游服务器处理,
反向代理服务器可以对响应结果进行缓存、压缩等处理移提升性能。

限流
算法:令牌桶、漏斗、计数器
令牌桶是按照固定速率往桶中添加令牌,请求是否被处理需要看桶中令牌是否足够,当令牌数减为0时,则拒绝新的请求。
漏斗是按照常量固定速率流出请求,流入请求速率任意,当流入的请求数累积到漏斗容量时,则新流入的请求被拒绝。

令牌桶允许一定程度的突发,而漏斗主要目的是平滑流入速率。

超时与重试机制
网络连接/读/写超时时间

Nginx设置IP黑名单,限制某些IP的访问

坚持原创技术分享,您的支持将鼓励我继续创作!