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

朔州城市建设网站搜索引擎优化的目的是对用户友好

朔州城市建设网站,搜索引擎优化的目的是对用户友好,网站世界排名怎么做,网络营销是干啥的一、背景介绍 最近在看Tomcat运行架构原理, 正好遇到了AJP协议(Apache JServ Protocol). 顺道来研究下这个AJP协议和具体使用方法. 百度百科是这么描述AJP协议的: AJP#xff08;Apache JServ Protocol#xff09;是定向包协议。因为性能原因#xff0c;使用二进制格式来传输…一、背景介绍 最近在看Tomcat运行架构原理, 正好遇到了AJP协议(Apache JServ Protocol). 顺道来研究下这个AJP协议和具体使用方法. 百度百科是这么描述AJP协议的: AJPApache JServ Protocol是定向包协议。因为性能原因使用二进制格式来传输可读性文本。WEB服务器通过 TCP连接 和 SERVLET容器连接。 在开始正文前 我们先了解下静态网站和动态网站的区别和内容. 【静态站点】 用户通过HTTP协议查看服务的一些静态文件资源例如文本文件、图片文件、声音文件等等这些静态文件的内容除非人为更新否则用户查看到的内容都是不变的。 这样也就意味着用户无法和这些文件进行交互. 【动态站点】 用户根据界面的操作提交表单每个操作得到的结果html内容是动态的。 例如你修改昵称为ABC 那么等你刷新页面你的昵称就显示为ABC。下一次更新昵称为456那么再刷新这个网页内容昵称又变成了456。  背后的底层原理就是每次你得到的html内容是动态的并不是一成不变的静态文件内容。 说来话长 只能简单聊一下。 早先Web网站/站点在90年代静态网站已经满足了大部分人的需求就是发布一些静态内容文件提供给他人浏览、下载以及文件共享。 但是随着技术的发展大家发现静态站点有一个弊端就是 不能和Web站点进行交互。  那也就是意味着管理员给到我们什么内容我们就只能看到什么内容不能对这个服务器的一些资源进行操作。人们迫切需要一种动态Web站点需求使得我们可以和Web服务器进行交互可以提交数据、也可以查看数据这样才能更好地发挥Web站点的作用。 要开发动态站点那肯定是用编程语言来处理提交的表单数据以及业务逻辑最后生成结果的html文本内容响应给用户用户通过浏览器就能看到响应结果页面。 当时已经有的一些开发语言如Java、PHP、Python都想通过Web技术发展自己的影响力以及市场份额。  大部分语言都采用了Web服务器后端动态站点协议的方式来进行开发。 Web服务器只负责对HTTP协议进行负责负责HTTP协议的解析、响应其它业务逻辑、HTML内容生成等等这些工作交给后端编程语言来实现 这样Web服务器、后端服务器的职责都很清晰、独立两者也不存在强耦合的关系。 那动态站点后端协议又有哪些呢? 例如 本文要介绍的JavaEE 中Apache Web服务器制定了AJP协议用来规范Apache Web服务器和后端Java Sevlet容器的交互规范协议。  再比如PHP则是Nginx使用了CGI/FastGCI协议与其进行交互 再如Python, Nginx则使用的是大家知道的WSGI协议等等。整体动态站点的运行组件图如下: 所以大家在安装Tomcat的时候是不是发现除了8080有一个HTTP协议的Connector连接器还会伴随这种一个8009的AJP协议的监听端口.    是不是自己以前没有仔细研究过这个端口到底是干嘛用的?  今天我们就通Apache mod_jk模块(使用AJP协议与Tomcat 的AJP 8009端口服务进行交互实现Web访问) 二、操作步骤 1、安装Tomcat并且开启AJP监听8009 我按照的版本是: apache-tomcat-9.0.82 官网下载压缩包解压即可, 这个就不赘述步骤了。 开启conf/server.xml的配置: secretRequiredfalse:    注意默认这个参数没有默认值是true 意味着要和8009这个AJP服务交互要设置密码, 同时客户端要访问则需要把密码也带过来。 为了方便我们做测试这个设置为false.   刚开始我没设置false, 导致访问Apache一直卡着也看不到页面看不到报错信息。最后看tomcat的catalina.out才发现这个问题. 设置Engine的jvmRoutetomcat1: 先记住这个点, jvmRoutetomcat1, 后面配置Apache需要用到. 在webapps增加了一个demo2的目录增加一个welcome.jps文件 这个jps文件就是简单输出:  welcome内容: 最后正常启动Tomcat的bin/startup.sh完成服务的启动. 2、安装apache yum install httpd httpd-devel -yyum install gcc gcc-c make -y 3、 编译生成mod_jk模块 1、下载mod_jk源码压缩包 https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/ 2、解压源码文件进入native ./configure --with-apxs/usr/bin/apxsmake返回上级目录执行find ./ -name mod_jk.so 拿到文件路径 拷贝到:  /etc/httpd/modules/ 4、配置apache的配置文件 1、/etc/httpd/conf.d新增mod_jk.conf文件 LoadModule jk_module /etc/httpd/modules/mod_jk.so JkWorkersFile conf/workers.properties JkLogFile /var/log/httpd/mod_jk.log JkLogLevel debug JkShmFile /var/log/httpd/mod_jk.shm JkRequestLogFormat %w %V %TJkMount /*.jsp balancer2、/etc/httpd/conf新增workers.properties文件 # tomcat1 就是在Tomcat的Engine配置的jvmRoute名称 worker.listbalancer,jk_watcher,tomcat1#tempalte 负载模板配置 , 使用的协议是ajp1.3 worker.template.typeajp13 #worker全局的重试次数在apache服务器启动后会最多尝试若干次连接这些负载均衡服务器若连接不上则任务down掉 worker.retries3#balancer 负载配置 worker.balancer.typelb # tomcat1 就是在Tomcat的Engine配置的jvmRoute名称 worker.balancer.balance_workerstomcat1 worker.balancer.sticky_sessiontrue#tomcat1的配置 worker.tomcat1.port8009 worker.tomcat1.hostlocalhost worker.tomcat1.referenceworker.template worker.tomcat1.activationA #worker.tomcat1.lbfactor1#负载均衡监视器 worker.jk_watcher.typestatus worker.jk_watcher.read_onlyfalse worker.jk_watcher.mount/jkStatus 5、启动httpd服务并且访问测试 systemctl start httpd Apache 端口是80所以访问测试的URL可以省略80端口. 测试访问URL:  http://localhost/demo2/welcome.jsp 我们可以看到Tomcat没有开启8080服务我们访问Apache服务的80端口mod_jk模块(使用AJP协议与8009AJP服务进行交互) 最后访问到了Tomcat的这个jps的响应的HTML内容. 三、总结 那为什么我们也直接可以通过Tomcat的8080端口就能访问到jsp页面了呢?  说白了就是Tomcat自己内置实现了一个HTTP协议Web服务器功能 最后解析HTTP协议将数据再传给Servlet容器 本质上是一样的方式。 只是Tomcat把这个Web服务器实现进行了内置实现。 还有一个疑问Nginx支持代理AJP协议或者存在其它的协议能和Servlet容器进行交互吗? 这个目前Nginx是不支持和Servlet容器进行交互的但是理论上来说只要你去实现了AJP协议的内容也可以自己写一个Nginx的模块去做和mod_jk一样的事情。只是这种方式不太主流生产环境很少看到有人使用Nginx加AJP模块进行交互的 Apache的mod_jk都很少见。 大部分还是直接使用内置Tomcat的HTTP服务器8080来提供HTTP服务, AJP协议的监听器直接关闭 如果为了应对集群那么使用Nginx直接通过HTTP协议再代理到Tomcat的8080. 大家看到通过Nginx直接再代理到Tomcat的8080HTTP服务器虽然HTTP协议被重复解析了一次但是对于运维和排查问题很方便(大家对HTTP协议都相对熟悉对AJP相对陌生) 也不在乎这么一点性能损耗。 同时单台Tomcat本来能支撑的并发数是有限的所以通过NginxTomcat构成集群水平拓展才能发挥更大的威力 单台Tomcat再怎么垂直提升单机性能效果也没集群那么明显。  所以这个AJP的方式只是在本地做的一个实验让我们了解和加深动态站点的运行原理。 实际生产环境这个AJPApache的方式慎用 反正我基本上是没看到有人这么用的。  况且Tomcat后面9的版本以上 默认配置文件把这个AJP的8009端口Connector连接器注释掉了。
http://www.hkea.cn/news/14318851/

相关文章:

  • 中山市网站建设哪家好网络平台宣传方式有哪些
  • 网站开发需要什么软件电子商务公司营业执照经营范围
  • 永安市住房与城乡建设局网站河北邢台出大事啦
  • 新站快速收录技术班级网站做哪些方面
  • 网站建设人员春招计划的网站建立
  • 花都建设网站uc浏览器免费下载
  • 深圳 建设工程招标有限公司网站做网站什么笔记本好用
  • 网站导航广告怎么做wordpress 标签搜索
  • 卖网站模板赚钱吗微信网站平台建设
  • 济宁建设企业网站网站建设找什么工作室
  • 亿唐微方网站建设网站左悬浮代码
  • 珠海电商网站制作论文格式样板模板
  • 专业的公司网站设计服务抖音关键词搜索排名收费
  • 网站开发文档模板 开源网页设计与网站开发经济可行性
  • 怎么选择一个好的友情链接网站万网是做什么的
  • 搭建源码下载站网站数字今天科技 网站
  • 做网站及APPwordpress编辑器移植
  • 网站投票活动怎么做seo怎么优化网站
  • 网站建设 上海网站建山西格泰网站建设
  • 云南微网站制作哪家好wordpress多个函数文件路径
  • 广州做护肤品的网站免备案cdn
  • 网站建设华科技台州网站公司建站
  • 营销型网站用什么模版合适标智客logo在线设计生成器免费
  • 未备案的网站百度400电话
  • 怎么做地区网站网页设计作业成品代码免费
  • 做偏门网站网店美工主要负责
  • 做网站编辑需要会什么网站顾客评价
  • 网站建设相关网站php网站方案
  • 外贸五金网站建设wordpress短代码插件TD
  • 二级网站免费建网站推广营销策划