代理服务器--使用比较多的为nginx代理服务器。
什么是nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。开源软件,服务器软件.能够支持高达 50,000 个并发连接数的响应,
如何使用nginx
(1)安装nginx软件所需的依赖插件
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)创建一个目录作为nginx的安装目录
mkdir /usr/nginx
(4)进入nginx的解压目录
(5)设置nginx的安装路径为上面/usr/nginx
(6) 编译--安装
make
make install ---安装
conf: 配置目录
html: 放置静态资源的。
logs: 日志
sbin: 启动和关闭nginx的脚本
(7)启动nginx
./nginx 开启nginx
./nginx -s stop 关闭nginx
./nginx -s reload 重新加载配置文件---修改完配置文件后使用该命令
(8) 访问nginx服务器
放行80端口号
nginx三大核心
反向代理:
负载均衡:
动静分离:
1.反向代理
正向代理: 该服务器代理的为客户端,对于后面真实的服务器来说,不知道访问者的地址。比如:翻墙软件。
反向代理: 该服务器代理的为服务器端,对于客户来说不知道访问的真实服务器。
它反向代理了我们的项目所在的服务器ip,用户访问时访问的是nginx的代理服务器的ip,然后代理服务器负责访问我们的真实项目所在的服务器的ip,这样可以不让用户知道我们真实的服务器的ip,一定程度上也起到了保护作用
如何使用nginx完成反向代理
准备一个真实项目和Tomcat服务器 并把项目部署到Tomcat.---springboot项目
启动项目
java -jar xxxx.jar
修改nginx配置文件
cd /usr/nginx/conf
vi nginx.conf
重新加载nginx
cd ../sbin
./nginx -s reload
访问nginx所在服务器ip+nginx监听的端口号
2.负载均衡
启动项目
修改配置文件
默认负载均衡的策略为轮询策略。
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
3.动静分离
静态资源的统一管理。
提取springboot项目中的static文件,然后将该项目打包成jar,放到linux虚拟机中( /project中),然后将static文件放到nginx的根目录下(/usr/nginx/)。然后修改配置文件:
把项目中的静态资源放入nginx安装路径下,删除项目中的静态资源
重新加载配置文件 ./nginx -s reload
运行项目,若直接访问真实服务器地址,静态资源无法加载,但是通过nginx代理服务器访问项目,可以。这就实现了动静分离的原则。
spingboot中内置的tomcat不支持jsp模板引擎,springboot中templates包下的页面只能使用html,也只能被重定向到该页面,无法通过浏览器直接访问。
nginx的高可用
Nginx虽然承受并发的能力非常强,但不排除由意外情况导致会宕机。为了尽可能使项目正常运行,这时可以启用备胎计划,也就是使用另一台服务器当做代理服务器,这两台代理服务器之间有一个主从关系。代理服务器平常不会使用,当标记为MASTER的主代理服务器宕机了,BACKUP的从代理服务器就可以启用,替代MASTER的位置实现代理功能,当MASTER的代理服务器正常运行以后,BACKYUP就退居二线,不再使用。
准备:
1.192.168.19.151---- master主节点
2.192.168.18.152---->backup从节点
两台linux都安装keepalived
yum -y install keepalived 安装keepalived
rpm -q -a keepalived 查看本地是否安装keepalived
默认keepalived的配置文件在 /etc/keepalived下
把启动脚本放入指定目录 /usr/local/src/ 文件名为nginx_check.sh
二者启动nginx
./nginx
启动keepalived
systemctl start keepalived
测试