目录
1. 什么是nginx?
Nginx是⼀款轻量级的Web 服务器/反向代理服务器及电⼦邮件(IMAP/POP3)代理服务器,其特点是占有 内存少,并发能⼒强,Nginx因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名。
2. nginx的优点
- 高并发。静态小文件
- 占用资源少。2万并发、10个线程,内存消耗几百M。
- 功能种类比较多。web,cache,proxy。每一个功能都不是特别强。
- 支持epoll模型,使得nginx可以支持高并发。
- nginx 配合动态服务和Apache有区别。(FASTCGI 接口)
- 利用nginx可以对IP限速,可以限制连接数。
- 配置简单,更灵活。
3. 如何使⽤nginx
(1) 安装nginx依赖的环境
1. yum install -y gcc-c++
2. yum install -y pcre pcre-devel
3. yum install -y zlib zlib-devel
4. yum install -y openssl openssl-devel
(2) 把nginx上传到指定的linux⽬录
(3)解压
tar -zxvf nginx-1.18.0.tar.gz
(4) 进⼊nginx解压⽬录
cd nginx-1.18.0
(5)指定nginx的安装路径
(6)安装
make install
(7) 启动nginx
(8)查看nignx是否启动成功
ps -ef | grep 进程名
./nginx -s stop //nginx进程停止
(9)可以在浏览器访问nignx
4. 了解⼀下nginx的配置⽂件
5. 反向代理
1. 正向代理: 代理的是客户端,服务器端不知道访问来⾃哪个客户。 翻墙软件。
2. 反向代理: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。代理的是服务器,客户端不知道最终访问的是哪个服务器。
(1) nginx如何实现反向代理 ,准备的条件
1. 创建⼀个springboot web应⽤程序.
2. idea把web⼯程打包安装
(2) 把jar⽂件上传到linux 并启动
java -jar xxx.jar
使⽤nignx反向代理服务器
测试:
6. 负载均衡
⽹站的访问量越来越⼤,服务器的服务模式也得进⾏相应的升级,⽐如分离出数据库服务器、分离出图⽚作 为单独服务,这些是简单的数据的负载均衡,将压⼒分散到不同的机器上。
(1)准备条件
启动两台应⽤服务器。为了减少虚拟机的启动个数 我都在⼀个虚拟机中启动了应⽤服务器。
(2)配置nginx
(3)测试
负载均衡的策略:
默认为轮询策略。
权重: weight 权重值越⼤访问到的频率越⾼。 因为以后可能服务器的配置不同,配置越⾼权重越 ⼤。
ip_hash
- 概述: 通过对IP的Hash值进行计算然后选择分配的服务器。这个方法可以使客户端的请求发送到相同的服务器以保证session会话,并且可以使用权重。