1. 什么是nginx?
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2.为什么使用nginx?
3.如何使用nginx
(1)安装nginx依赖的环境 (依次在xshell中执行以下四条命令)
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
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
先进入sbin
(8)查看nignx是否启动成功
ps -ef l grep 进程名
结束nginx使用:
./nginx -s stop
(9)可以在浏览器访问nignx
4. 了解nginx的配置文件
进入nginx,然后:
5.反向代理
正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。(代理的是客户端,服务器端不知道访问来自哪个客户)
反向代理实际运行方式是代理服务器接受网络上的连接请求。它将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现为一个服务器。(代理的是服务器,客户端不知道最终访问的是哪个服务器)
nginx的反向代理 :
准备的条件如下:
1)创建一个springboot web应用程序.
2)idea把web工程打包安装
3)把jar文件上传到linux并启动
8081的用于下面负载均衡
java -jar xxx.jar
4)使用nignx反向代理服务器
vi nginx.conf 进入添加修改
server{
listen 8888;
server_name localhost;
location /{
proxy_pass http://192.168.67.10:8080/;
}
}
../sbin/nginx -s reload 修改完毕要重新加载
5) 测试
6.负载均衡
网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。
(1)准备条件
启动两台应用服务器。为了减少虚拟机的启动个数 ,都在一个虚拟机中启动了应用服务器。
(2)配置nginx
vi nginx.conf 进入添加修改
upstream ban132{
server 192.168.67.10:8080 ;
server 192.168.67.10:8081 ;
}
server{
listen 8888;
server_name localhost;
location / {
proxy_pass http://ban132;
}
}
../sbin/nginx -s reload 修改完毕要重新加载
(3) 测试
(4)负载均衡的策略:
1)默认为轮询策略。
权重: weight 权重值越大访问到的频率越高,因为以后可能服务器的配置不同,配置越高权重越大。
vi nginx.conf 进入添加修改
upstream ban132{
server 192.168.67.10:8080 weight=2;
server 192.168.67.10:8081 weight=1;
}
../sbin/nginx -s reload 修改完毕要重新加载
注:如果访问nginx三次,80803080会命中2次,8081命中
2)iphash: (安装虚拟机时使用桥接ip )
vi nginx.conf 进入添加修改
upstream ban132{
server 192.168.67.10:8080 weight=2;
server 192.168.67.10:8081 weight=1;
ip_hash;
}
../sbin/nginx -s reload 修改完毕要重新加载
注: ip_hash是根据访问者的IP代理相应的服务。