一、Nginx
1、简介
1、通常作为反向代理
2、作用:集群(单节点风险,提高并发)
反向代理(不暴露真实IP),也即http服务器
虚拟服务器
静态服务器
3、优势:性能高,占内存小,轻量级服务器,能同时支持5w并发
4、安全架构方案:
3.1 反向代理(不暴露真实IP)
3.2 使用HTTPS,防止抓包分析
3.3 搭建企业黑、白名单系统
3.4 防模拟请求(csrf),XSS,sql注入,ddos(流量攻击),防盗链
5、反向代理服务器:Nginx、lvs、F5(硬件)、haproxy
6、跨域方案:使用nginx搭建企业级api接口网关
2、Nignx安装
1、简介
1、目录:conf-配置文件目录,html-静态文件目录
2、linux安装nginx
参考:https://blog.csdn.net/t8116189520/article/details/81909574
3、Nginx反向代理服务器
1、负载均衡策略
权重、轮询、IP绑定
2、集群产生问题:
2.1 分布式任务幂等问题(使用分布式任务调度平台)
2.2 session共享
2.3 分布式全部ID
3、使用nginx搭建集群
1、概念:
集群:减轻单台服务器压力
分布式:将一个项目拆分成n个子项目,分布式开发。
2、集群配置:
1、反向代理配置:
1.1 单个服务反向代理:
server {
listen 80;
server_name www.dy.com;#拦截地址
location / {#/表示拦截所有请求
proxy_pass http://127.0.0.1:8080;#代理地址
index index.html index.htm;
}。。。
2、负载均衡配置
2.1 策略:轮询,权重,绑定IP
2.2 配置---轮询
与server同级:
upstream backserver {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
location中修改为:
location / {
proxy_pass http://backserver;
index index.html index.htm;
}
3、宕机容错机制
3.1 Nginx一主一备或一主多备
3.2 集群宕机,自动轮询下一台服务器
配置:location中
proxy_connect_timeout 1;
proxy_send_timeout 1;
proxy_read_timeout 1;
4、Nginx高可用
1、keepalived
1、安装keepalived
yum install -y openssl openssl-devel(需要安装一个软件包)
cd keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived
make && make install
将keepalived安装成Linux系统服务,因为没有使用keepalived的默认安装路径(默认路径:/usr/local),安装完成之后,需要做一些修改工作:
首先创建文件夹,将keepalived配置文件进行复制:
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
然后复制keepalived脚本文件:
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/sbin/keepalived /usr/sbin/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
可以设置开机启动:chkconfig keepalived on
2、配置
|
! Configuration File for keepalived vrrp_script chk_nginx { virtual_ipaddress { |
|
#!/bin/bash |
5、session共享解决方案
1、spring-session + redis(推荐)
2、负载均衡的ip绑定策略
3、使用cookie
4、数据库
5、tomcat配置session共享
6、token重写session
6、高并发解决方案
1、数据库
慢查询定位,执行计划,sql优化,使用索引
主从复制,读写分离
2、缓存机制
使用redis
redis集群(主从复制)
redis读写分离
redis哨兵
3、服务器
反向代理
负载均衡
集群
动静分离
CDN加速(从近访问服务器,多地部署)
4、客户端
较少请求,动静分离
5、项目优化
代码重构
jvm调优,主要垃圾回收机制(老年代,新生代)
浙公网安备 33010602011771号