怎么建设维护学校的网站,可以做软件外包项目的网站,百度做的网站国外可以打开吗,临沂市住房和城乡建设局网站文章目录 NginxTomcat负载均衡和动静分离群集Nginx作用实验七层反向代理nginx动静分离四层反向代理负载均衡 NginxTomcat负载均衡和动静分离群集
Nginx是-款非常优秀的HTTP服务器软件 支持高达50 000个并发连接数的响应拥有强大的静态资源处理能力运行稳定内存、CPU等系统资源… 文章目录 NginxTomcat负载均衡和动静分离群集Nginx作用实验七层反向代理nginx动静分离四层反向代理负载均衡 NginxTomcat负载均衡和动静分离群集
Nginx是-款非常优秀的HTTP服务器软件 支持高达50 000个并发连接数的响应拥有强大的静态资源处理能力运行稳定内存、CPU等系统资源消耗非常低
Nginx作用 目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器提升整个站点的负载并发能力 正向代理代理的是客户端安装在客户端本机上 正向代理类似一个跳板机代理访问外部资源。正向代理的用途 访问原来无法访问的资源如google可以做缓存加速访问资源对客户端访问授权上网进行认证代理记录用户访问记录上网行为管理也可以对外网隐藏用户信息。 【从外网的角度只有代理服务器获取资源的时候有一次记录当代理告服务器不告诉网站时外网就不知道这个请求的用户信息】 反向代理代理的是服务端 让用户无感知地浏览服务器资源(无论动容增加了多少台服务器用户都无法感知用户访问的永远是域名)并且让服务器更好的部署上线 客户端是无感知代理服务器的存在的访问者者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。
##反向代理主要参数upstream 服务池名{} ##配置后端服务器池以提供响应数据
proxy_pass http://服务池名 ##配置将访问请求转发给后端服务器池的服务器处理动静分离
服务端接收来自客户端的请求中既有静态资源也有动态资源静态资源由Nginx提供服务动态资源Nginx转发至后端
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y1lQGjJb-1686389663981)(E:\Typora\images\image-20230610144348121.png)]
并发量以10分钟有5000万用户平均每人访问2次为例并发量为每秒(5000w*2)/(60*10)16.7万再double下就说每秒25万并发量吞吐量可以理解成带宽流量以每个请求0.5KB大小并发每秒25万0.5/1024MB*250000122MB*8bit977Mbps实验
七层反向代理nginx动静分离
名称IPtomcat服务器1192.168.242.66:8080tomcat服务器2192.168.242.67:8080nginx服务器192.168.242.68
##在tomcat服务器中创建动态页面cd /usr/local/tomcat/webapps/
mkdir test
cd test/vim index.jsp% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test1 page/title #指定为 test1 页面
/head
body
% out.println(动态页面 1);%
/body
/html##nginx服务器设置systemctl disable --now firewalld
setenforce 0##yum安装nginx
cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bakvim nginx.repo[nginx-stable]
namenginx stable repo
baseurlhttp://nginx.org/packages/centos/7/$basearch/
gpgcheck0
enabled1yum clean all yum makecache
yum -y install nginxcd /etc/nginx/conf.d/
vim default.conf##定义后端服务器组的名称和节点配置
upstream tomcat_server {server 192.168.242.66:8080 weight1;server 192.168.242.67:8080 weight1;
}在server中配置
location ~* .*\.jsp$ {proxy_pass http://tomcat_server;#设置后端的Web服务器可以获取远程客户端的真实IPproxy_set_header HOST $host;##设定后端的Web服务器接收到的请求访问的主机名域名或IP、端口默认HOST的值为proxy_passproxy_set_header X-Real-IP $remote_addr;##把$remote_addr赋值给X-Real-IP来获取源IPproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;##在nginx 作为代理服务器时设置的IP列表会把经过的机器ip代理机器ip都记录下来}location ~* .*\.jsp$ {proxy_pass http://tomcat_server;proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}##创建静态界面
vim index.htmlhtmlbodyhi静态界面1/hi/body
/html##验证实现访问 nginx 服务器地址 http://192.168.242.68/index.jsp四层反向代理负载均衡
名称IPtomcat服务器1192.168.242.66:8080tomcat服务器2192.168.242.67:8080七层nginx服务器1192.168.242.68七层nginx服务器2192.168.242.69四次代理nginx服务器192.168.242.70
##在nginx源码编译安装时加载模块./configure --with-streamvim /usr/local/nginx/conf/nginx.conf和http同等级所以一般只在http上面一段设置
stream {upstream nginx_server {server 192.168.242.68:80 weight1;server 192.168.242.69:80 weight1;}server {listen 80;nginx_server;}
}http {server {listen 8080;
......
测试静态页面效果
浏览器访问 http://192.168.242.68/test/index.html测试负载均衡效果不断刷新浏览器测试
浏览器访问 http://192.168.58.68/test/index.jsp四层反向代理基于IPPORT实现的代理转发
四层反向代理基于http、https、mail等七层应用协议实现的代理转发
Nginx 负载均衡模式
rr 轮询 负载均衡模式 每个请求按时间顺序逐一分配到不同的后端服务器如果超过了最大失败次数后max_fails默认1在失效时间内(fail_timeout默认10秒)该节点失效权重变为0超过失效时间后则恢复正常或者全部节点都为down后那么将所有节点都恢复为有效继续探测一般来说rr可以根据权重来进行均匀分配。加权轮询: weight值越大被分配到的访间请求概率越高主要用于后端服务器性能不均匀的情况。least_conn 最少连接 优先将客户端请求调度到当前连接最少的服务器。ip_hash 负载均衡模式 每个请求按访问ip的hash结果分配这样每个访客固定访问一个后端服务器可以解决session的问题但是ip_hash会造成负载不均有的服务请求接受多有的服务请求接受少所以不建议采用ip_hash模式session 共享问题可用后端服务的 session 共享代替 nginx 的 ip_hash使用后端服务器自身通过相关机制保持session同步。fair第三方负载均衡模式 按后端服务器的响应时间来分配请求响应时间短的优先分配。url_hash第三方负载均衡模式 基于用户请求的uri做hash。和ip_hash算法类似是对每个请求按url的hash结果分配使每个URL定向到同一个后端服务器但是也会造成分配不均的问题这种模式后端服务器为缓存时比较好。 共享代替 nginx 的 ip_hash使用后端服务器自身通过相关机制保持session同步。fair第三方负载均衡模式 按后端服务器的响应时间来分配请求响应时间短的优先分配。url_hash第三方负载均衡模式 基于用户请求的uri做hash。和ip_hash算法类似是对每个请求按url的hash结果分配使每个URL定向到同一个后端服务器但是也会造成分配不均的问题这种模式后端服务器为缓存时比较好。