当前位置: 首页 > news >正文

恩施市住房和城乡建设局网站手机网站建设 技术规范

恩施市住房和城乡建设局网站,手机网站建设 技术规范,三一crm手机客户端下载,沈阳建站模板展示一.Nginx负载均衡实现原理 Nginx实现负载均衡是通过反向代理实现 1、 反向代理原理 2、反向代理的概念 反向代理#xff08;Reverse Proxy#xff09;方式是指以代理服务器来接受internet上的连接请求#xff0c;然后将请求转发给内部网络上的服务器#xff0c;并将从服…一.Nginx负载均衡实现原理 Nginx实现负载均衡是通过反向代理实现 1、 反向代理原理 2、反向代理的概念 反向代理Reverse Proxy方式是指以代理服务器来接受internet上的连接请求然后将请求转发给内部网络上的服务器并将从服务器上得到的结果返回给internet上请求连接的客户端此时代理服务器对外就表现为一个反向代理服务器。 反向代理是为服务端服务的反向代理可以帮助服务器接收来自客户端的请求帮助服务器做请求转发负载均衡等。 反向代理对服务端是透明的对我们是非透明的即我们并不知道自己访问的是代理服务器而服务器知道反向代理在为他服务。 3、反向代理的优势 反向代理的优势 隐藏真实服务器负载均衡便于横向扩充后端动态服务动静分离提升系统健壮性 4、Nginx四层反向代理和七层反向代理 四层反向代理是基于IPPORTTCP/UDP端口转发 七层反向代理基于httphttpsmail代理转发 二、Nginx动静分离实现原理 1、动静分离的概念 动静分离是指在 web 服务器架构中将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法进而提示整个服务的访问性和可维护性。 2、动静分离的原理 服务端接收来自客户端的请求中。既有静态资源也有动态资源静态资源由Nginx提供服务动态资源Nginx转发至后端 3、Nginx 静态处理优势 • Nginx处理静态页面的效率远高于Tomcat的处理能力 • 若Tomcat的请求量为1000次则Nginx的请求量为6000次 • Tomcat每秒的吞吐量为0.6MNginx的每秒吞吐量为3.6M • Nginx处理静态资源的能力是Tomcat处理的6倍 三、Nginx负载均衡调度算法6种 1、轮询默认 每个请求按时间顺序逐一分配到不同的后端服务器如果超过了最大失败次数后max_fails默认1在失效时间内fail_timeout默认10秒该节点失效权重变为0超过失效时间后则恢复正常或者全部节点都为down后 那么将所有节点都恢复为有效继续探测一般来说rr可以根据权重来进行均匀分配。 2、加权轮训 weight的值越大分配到的权限概率越高主要用于后端每台服务器性能不均匀情况或者仅仅为在主从情况下设置不同的权重值达到合理利用主机资源 3、least_conn最少连接 优先将客 户端请求调度到当前连接最少的服务器。 4、ip_hash 每个请求按访问ip的hash结果分配这样每个访客固定访问一个后端服务器 可以解决session会话状态的问题但是ip_hash会造成负载不均有的服务请求接受多有的服务请求接受少所以不建议采用ip_hash模式 补充session的概念 session共享问题可用后端服务的session共享代替nginx的ip_hash。ip_hash无法作用于四层反向代理配置需要将其他模式删除例如weight删掉然后直接在加上 注释 Session又称为会话状态是Web系统中最常用的状态用于维护和当前浏览器实例相关的一些信息。我们控制用户去权限中经常用到Session来存储用户状态 session其实分为客户端Session和服务器端Session。 当用户首次与Web服务器建立连接的时候服务器会给用户分发一个 SessionID作为标识。SessionID是一个由24个字符组成的随机字符串。用户每次提交页面浏览器都会把这个SessionID包含在 HTTP头中提交给Web服务器这样Web服务器就能区分当前请求页面的是哪一个客户端。这个SessionID就是保存在客户端的属于客户端Session。 其实客户端Session默认是以cookie的形式来存储的所以当用户禁用了cookie的话服务器端就得不到SessionID。这时我们可以使用url的方式来存储客户端Session。也就是将SessionID直接写在了url中当然这种方法不常用。 Session共享指在一个浏览器对应多个Web服务时服务端的Session数据需要共享。例如单点登录、Web服务器集群等场景都需要用到、多子服务。 5、fair第三方 按后端服务器的响应时间来分配请求响应时间短的优先分配。 6、url_hash第三方 和ip hash算法类似是对每个请求按url的hash结果分配使每个URL定向到同一个后端服务器 但是也会造成分配不均的问题 这种模式后端服务器为缓存时比较好。 四、NginxTomcat负载均衡、动静分离的操作步骤 1、准备三台服务器Nginx作为负载均衡器Tomcat作为应用服务器 Nginx 服务器192.168.2.66:80 Tomcat服务器1192.168.2.105:80 Tomcat服务器2192.168.2.200:8080 192.168.2.200:8081 2、部署Nginx 负载均衡器 systemctl stop firewalld setenforce 0yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c makeuseradd -M -s /sbin/nologin nginxcd /opt tar zxvf nginx-1.12.0.tar.gz -C /opt/cd nginx-1.12.0/ ./configure \ --prefix/usr/local/nginx \ --usernginx \ --groupnginx \ --with-file-aio \ #启用文件修改支持 --with-http_stub_status_module \ #启用状态统计 --with-http_gzip_static_module \ #启用 gzip静态压缩 --with-http_flv_module \ #启用 flv模块提供对 flv 视频的伪流支持 --with-http_ssl_module #启用 SSL模块提供SSL加密功能 ---------------------------------------------------------------------------------------------------------- ./configure --prefix/usr/local/nginx --usernginx --groupnginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_modulemake make installln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/vim /lib/systemd/system/nginx.service [Unit] Descriptionnginx Afternetwork.target [Service] Typeforking PIDFile/usr/local/nginx/logs/nginx.pid ExecStart/usr/local/nginx/sbin/nginx ExecrReload/bin/kill -s HUP $MAINPID ExecrStop/bin/kill -s QUIT $MAINPID PrivateTmptrue [Install] WantedBymulti-user.targetchmod 754 /lib/systemd/system/nginx.service systemctl start nginx.service systemctl enable nginx.service3、部署2台Tomcat 应用服务器 systemctl stop firewalld setenforce 0tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/vim /etc/profile.d/java.sh export JAVA_HOME/usr/java/jdk1.8.0_201-amd64 export CLASSPATH.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH$JAVA_HOME/bin:$PATHsource /etc/profile.d/java.shtar zxvf apache-tomcat-8.5.16.tar.gzmv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat/usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/startup.shnetstat -ntap | grep 80804、动静分离配置 Tomcat1 server 配置 mkdir /usr/local/tomcat/webapps/test vim /usr/local/tomcat/webapps/test/index.jsp % page languagejava importjava.util.* pageEncodingUTF-8% html head titleJSP test1 page/title /head body % out.println(动态页面 1,Tomcat1);% /body /htmlvim /usr/local/tomcat/conf/server.xml #由于主机名 name 配置都为 localhost需要删除前面的 HOST 配置 Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalseContext docBase/usr/local/tomcat/webapps/test path reloadabletrue/Context /Host/usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/startup.shTomcat2 server 配置(多实例) mkdir /usr/local/tomcat/tomcat1/webapps/test /usr/local/tomcat/tomcat2/webapps/testvim /usr/local/tomcat/tomcat1/webapps/test/index.jsp % page languagejava importjava.util.* pageEncodingUTF-8% html head titleJSP test2 page/title /head body % out.println(动态页面 2,Tomcat2中的实例1);% /body /htmlvim /usr/local/tomcat/tomcat1/conf/server.xml #删除前面的 HOST 配置 Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalseContext docBase/usr/local/tomcat/tomcat1/webapps/test path reloadabletrue / /Host/usr/local/tomcat/tomcat1/bin/shutdown.sh /usr/local/tomcat/tomcat1/bin/startup.shvim /usr/local/tomcat/tomcat2/webapps/test/index.jsp % page languagejava importjava.util.* pageEncodingUTF-8% html head titleJSP test3 page/title /head body % out.println(动态页面 3,Tomcat2中的实例2);% /body /htmlvim /usr/local/tomcat/tomcat2/conf/server.xml #删除前面的 HOST 配置 Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalseContext docBase/usr/local/tomcat/tomcat2/webapps/test path reloadabletrue / /Host/usr/local/tomcat/tomcat2/bin/shutdown.sh /usr/local/tomcat/tomcat2/bin/startup.shNginx server 配置——七层转发配置 #准备静态页面和静态图片 echo htmlbodyh1这是静态页面/h1/body/html /usr/local/nginx/html/index.html mkdir /usr/local/nginx/html/img cp /root/game.jpg /usr/local/nginx/html/imgvim /usr/local/nginx/conf/nginx.conf ...... http { ......#gzip on;#配置负载均衡的服务器列表weight参数表示权重权重越高被分配到的概率越大upstream tomcat_server {server 192.168.116.70:8080 weight1;server 192.168.116.120:8080 weight1;server 192.168.116.120:8081 weight1;}server {listen 80;server_name www.kgc.com;charset utf-8;#access_log logs/host.access.log main;#配置Nginx处理动态页面请求将 .jsp文件请求转发到Tomcat 服务器处理location ~ .*\.jsp$ {proxy_pass http://tomcat_server; #设置后端的Web服务器可以获取远程客户端的真实IP ##设定后端的Web服务器接收到的请求访问的主机名域名或IP、端口默认HOST的值为proxy_pass指令设置的主机名。如果反向代理服务器不重写该请求头的话那么后端真实服务器在处理时会认为所有的请求都来在反向代理服务器如果后端有防攻击策略的话那么机器就被封掉了。proxy_set_header HOST $host; ##把$remote_addr赋值给X-Real-IP来获取源IPproxy_set_header X-Real-IP $remote_addr; ##在nginx 作为代理服务器时设置的IP列表会把经过的机器ip代理机器ip都记录下来proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}#配置Nginx处理静态图片请求location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {root /usr/local/nginx/html/img;expires 10d;}location / {root html;index index.html index.htm;} ......} ...... }5、测试效果 测试静态页面效果 浏览器访问 http://192.168.2.66/ 浏览器访问 http://192.168.2.66/pic.jpg 测试负载均衡效果不断刷新浏览器测试 浏览器访问 http://192.168.2.66/index.jsp 五、实例操作NginxTomcat负载均衡、动静分离 1、准备好Nginx服务器192.168.2.66 2、准备好tomcat服务器1192.168.2.105:8080 3、准备好Tomcat服务器2两个实例192.168.2.200:8080 192.168.2.200:8081——参照此篇文章 Tomcat多实例部署 - 啦啦啦12178 - 博客园 (cnblogs.com) 4、动静分离Tomcat1 server 配置 4.1 配置Tomcat1的动态网页显示内容 4.2 添加新的host内容 4.3 重启服务 5、Tomcat2 server 配置实例1 5.1 创建Tomcat实例1的网页测试目录test和测试网页文件 5.2 Tomcat实例1主配置删除前面的 HOST 配置添加新的HOST配置 5.3 重启服务 6、Tomcat2 server 配置实例2 6.1 创建Tomcat实例2的网页测试目录test和测试网页文件 6.2 Tomcat实例2主配置删除前面的 HOST 配置添加新的HOST配置 6.3 重启服务 7、Nginx server 配置192.168.2.66 7.1 准备网页显示相关内容 7.2 修改主配置文件——七层转发配置 7.3 重启服务 8、使用win10客户端在浏览器中进行测试动态页面测试进行不断刷新即可 测试静态页面效果 浏览器访问 http://192.168.2.66/ 浏览器访问 http://192.168.2.66/meme.jpg 测试负载均衡效果不断刷新浏览器测试 浏览器访问 http://192.168.2.66/index.jsp 8.1 测试静态页面效果 8.2 测试负载均衡效果不断刷新浏览器测试 六、Nginx四层代理配置 1、nginx做四层代理时编译需要添加 --with-stream模块 1.1 查看当前模块 1.2 在已有的nginx上面添加该模块--with-stream 2、nginx四层代理配置 2.1 修改配置文件进行四层代理配置 2.2 重启服务 3 浏览器访问测试 基于端口访问但是会有60s左右的缓存时间才会实现跳转到别的tomcat服务器 输入网址http://192.168.2.66 输入网址http://192.168.2.66:8080
http://www.hkea.cn/news/14545742/

相关文章:

  • 昆明网站开发培训机构做计算机项目的网站
  • 建设科普网站的意义达内ui设计培训费用
  • 济南建网站公司报价网站建设哪个便宜
  • 北京住房和城乡建设部网站wordpress中文版源码下载
  • nodejs建设直播网站正规软件开发培训学校
  • 虚拟网站建设指导公司网站建设如何撤销
  • 网站优点网站建设制作定制
  • 天津市建设与管理网站工业设计公司是做什么的
  • 一个网站有多少网页wordpress改变访问目录
  • 从化网站建设推广wordpress 虚幻大学
  • 辽宁网站设计宁波外贸公司排名前五十
  • 怎么申请一个免费域名长安seo排名优化培训
  • php网站开发图文教程上海源码网站建设公司
  • 全网通网站建设信息展示网站系统
  • 行业门户网站建设费用深圳人口1756万
  • 白和黑人做网站网页版qq空间怎么看特别关心
  • 网站建设流程方案响应式旅游网站模板
  • 做网站策划书文档广西建设网站网址多少
  • 专做影视评论的网站app推广多少钱一个
  • 网站搭建中114514永州网站建设多少钱
  • 企业网站建设费用详情企业网站优化包括哪三个方面
  • 建立网站tk机械网站精选
  • 做定制的网站山西省煤炭厅基本建设局网站
  • 网站做等保备案上海公司网站
  • 用r语言 做网站点击热力图星凯网站建设
  • 高科技公司网站模板wordpress菜单不现实
  • 网站内容采编怎么做大型网站开发语言框架工具
  • 网站建设综合实训总结网站检索功能怎么做呢
  • 网站开发注意事项国家高新技术企业牌匾
  • 教做甜品网站信誉好的武进网站建设