nginx
nginx概述
Nginx 是一款是由俄罗斯的程序设计师所开发高性能的 Web 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
其特点是占有内存少,并发能力强,事实上 nginx 的并发能力在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx 不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。
代理服务器
代理服务器是位于发起请求的客户端与原始服务器之间的一台跳板服务器,正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。
正向代理
用户知道目标服务器地址,但是由于网络限制等原因,无法直接访问。这时候需要先连接代理服务器,然后再由代理服务器访问目标服务器。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SKtw16Lx-1662022840742)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1660093732885.png)]
反向代理
反向代理对用户是不可知的,比如访问百度,百度的代理服务器对外的域名是www.baidu.com,但是具体内部的服务器节点我们不知道。我们访问百度的代理服务器后,代理服务器给我们转发请求到他们N多的服务器节点的一个进行搜索,再结果返回。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YlKpgfqS-1662022840743)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1660094050461.png)]
负载均衡
客户端发送多个请求到服务器,服务器处理请求,有些会访问数据库,服务器处理完毕后再将结果返回客户端。这种情况适合并发请求少的情况,并发量大的时候就可以考虑增加服务器数量,然后将原来请求单个服务器的情况改为分发到多个服务器上,将负载分发到多个服务器上。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fM5wT0SE-1662022840744)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1660095038588.png)]
负载均衡的调度算法:
1、轮询:按时间顺序逐一分配到不同的后端服务器。
2、加权轮询:可在配置server后面加weight=number,number值越高,分配的概率越大。
3、ip_hash:每个请求按访问IP的hash分配,来自同一IP的客户端固定访问同一个后台服务器。
4、least_hash:最少链条数,哪个机器连接数少,就分发给哪个机器。
动静分离
nginx是一个静态资源服务器,为了加快网站的解析速度,它把动态页面和静态页面用不同的服务器来解析,减少服务器压力,加快解析速度,将java后端程序部署在独立的服务器上,nginx代理访问后端服务。
linux安装
1、安装 gcc
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
2、手动下载.tar.gz 安装包 地址:http://nginx.org/en/download.html
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tDfDJVF-1662022840745)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1660097196469.png)]
3、ftp上传到 linux 指定目录
4、解压
tar -zxvf 文件包
5、cd 进入目录
安装依赖
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
6、指定安装位置
./configure --prefix=/usr/local/nginx
make
make install
7、安装成功,启动 nginx
cd /usr/local/nginx/sbin
./nginx
8、重载配置文件
nginx -s reload
9、停止
./nginx -s quit
或 ./nginx -s stop
10、查看 nginx 进程
ps -ef | grep nginx
11、启动后访问 http://ip:80
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wIVPvQ2Z-1662022840746)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1660097322793.png)]