有哪些平台或公司为Apache Web Service软件开发平台有哪些的用户提供技术支持

主要城市:
职位分类:
已选条件:
教育/培训/院校
互联网软件开发工程师
学历要求:本科|工作经验:|公司性质:民营公司|公司规模:150-500人
岗位职责:1、负责系统功能开发,程序优化,系统性能提升、数据库设计、优化;2、API、平台接口对接任职要求:1、精通thinkPHP5.0以上,熟悉MySQL,2年以上thinkPHP项目开发经验,能独立开发中大型项目。2、负责网站开发、后端接口开发和维护,遵照开发规范,按时保质的完成负责开发任务。3. 公司开发项目涉及端口安卓、苹果、微信小程序、微信公众号、pc开发、WEBAPP4. 熟悉HTTP协议,HTML/DIV+CSS/jQuery+Ajax+JSON、XML等Web开发相关技术;5、思路清晰,具备良好的沟通能力和理解能力;有较强责任心及团队合作精神;6、具有较强的学习能力和对新技术的追求,能够独立承担项目开发工作。【福利待遇】
1、极具竞争力与吸引力的薪酬待遇:5k-10k 2、福利:完善的养老保险、医疗保险、生育保险、工伤保险、失业保险。
3、其他持续完善的员工福利:国家规定的五险+带薪年假+15天春节长假+国家法定假期等;
4、免费的自我提升各项培训:专业营销技能培训、产品知识培训等;
5、随时随地的学习机会:名师课堂就在您身边,让您时刻享受人力、心理、理财、证券、学历等精彩课程,让您在无形中得到文化的熏陶;
6、满怀激情的90后工作团队:团队年轻化、激情有活力,快乐育人、和谐向上,轻松的氛围;
7、丰富多彩的员工活动:公司不定期举办各类文化活动--体育活动、员工聚餐、茶话会、节日晚会、旅游活动、表彰大会等,还有不定时的下午茶提供哦。
PS:感兴趣的候选人,也可以直接投递简历至:与企业hr直接沟通!
投递形式:姓名+应聘职位+信息来源
热切期待您的加入,让您和我们共同成长!
学历要求:本科|工作经验:3-4年|公司性质:民营公司|公司规模:150-500人
岗位职责:1、管理岗位,同时具有专业JAVA研发技术;2、参与系统架构、模块设计和文档编写,能独立完成模块的设计和编码工作;3、负责解决系统性能、安全、可靠、等方面的问题;4、负责网站及APP平台后端开发;5、指导团队成员的日常开发工作,解决开发中的技术问题。任职资格:1、全日制本科以上学历,计算机或者相关专业,具备三年以上JAVA研发工作经验(不包含实习),一年团队管理经验优先;有从0到1开发的经验更佳,有大公司开发经验优先;2、熟悉Java开发环境和工具,熟练使用Java、JavaScript、JSP、Jquery、XML;3、熟练应用至少一种或多种JAVA应用服务器: Tomcat,JBoss和BEA Weblogic等,以及其配置和优化;4、有良好的学习及沟通能力,富有团队精神,能承受压力;5、对移动和互联网技术有强烈兴趣,富于钻研和探索精神。【12(要爱)超值福利大礼包】1、五险一金;2、伙食补贴:300-500元/月;3、全勤奖:300元/月;4、工龄津贴:300元/月;5、主管级及以上任期工资:500元/月;6、生日红包:100元;7、证书补贴:300-2000元/月;8、节日贺礼:购物卡+节日礼品;9、每周三美味下午茶;10、年度旅游;11、年度体检;12、多彩的团建活动:寄锦好声音、诗词大赛、温馨年会、部门聚餐、户外拓展、健康运动等。企业文化:“4F”――For value 价值;For growing 成长;For happy 快乐;For dream 梦想
学历要求:大专|工作经验:3-4年|公司性质:民营公司|公司规模:500-1000人
1、负责网站前端、微信小程序及PHP后端功能模块开发2、负责前端页面开发、兼容性调优3、参与产品的设计以及与其他团队的沟通协调4、协助Linux服务器日常运维任职要求:1、大专以上学历,要求至少有2年以上的全栈开发经验2、熟悉PHP(Laravel)、JS(Vue、Angular、jQuery、WebPack2)、Git(代码合并、仓库管理、冲突处理、3、熟练Linux开发环境,熟悉常用的Shell命令4、熟悉SEO优化规则以及相关解决方案&5、品德好,有良好的抗压能力、接受加班6、产品需求迭代应对能力强
学历要求:本科|工作经验:3-4年|公司性质:创业公司|公司规模:少于50人
1、开发手机平台或者电脑平台的Web/wap页面;2、与后台工程师协作、完成数据交互、动态的信息展现;3、封装良好的前端交互组件,维护以及优化网站前端页面性能;4、开发微信公众号和小程序
任职资格教育背景:◆计算机及其相关专业本科以上学历。经 验:◆2年以上web前端开发工作经验。技能技巧:
◆有 HTML5+CSS+JavaScript(或移动JS框架)开发经验;
◆精通HTML5、CSS3、JavaScript等Web前端开发技术;
◆精通移动端H5+hBuilder开发;
◆熟悉多种浏览器的特性和兼容性,编写代码简洁,能够兼容各浏览器标准;
◆熟练使用JavaScript等脚本语言,完成产品前台页面的脚本编码工作;
◆精通jQuery、Bootstrap等主流前端框;
◆熟悉Json数据格式、了解AJAX技术原理,熟练使用各种JS调试工具。
◆工作严谨细致,有责任心;
◆勤奋踏实,善于分析思考问题;
◆有时间观念,独立性强,具有团队合作精神。
学历要求:本科|工作经验:2年|公司性质:民营公司|公司规模:50-150人
岗位职责:1. 负责公司移动产品的iOS平台的APP开发;2. 按照产品需求,设计和开发功能模块;3. 参与APP的创意及设计,同时提出合理的技术解决方案;4. 编写和执行项目的单元测试,做好质量控制;5. 主动了解竞品的技术动态和最新的相关开发技术。任职要求:1. 本科或以上学历,计算机等相关专业;2. 二年以上iOS手机客户端软件研发工作经验;3. 有过至少一个面向用户的手机软件的完整的研发经历;4. 具备扎实的Object-C语言开发基础;5. 精通iOS应用开发框架、环境和测试工具的使用;6. 熟悉数据结构、算法以及常用设计模式;7. 工作认真负责,较好的沟通能力和独立开发能力。
学历要求:|工作经验:2年|公司性质:合资|公司规模:150-500人
岗位职责:1、独立完成游戏客户端功能开发,游戏核心模块的开发;2、使用CocoStudio开发制作动画课件;3、使用 cocos2dx完成游戏逻辑, UI 界面,特效的开发;4.、优化客户端性能和表现。任职要求:1、2年cocos2dx-lua开发经验;2、熟悉coco2dx引擎底层源码、常用功能和实现原理;3、熟练使用CocoStudio制作动画特效;4、熟练使用C++和lua进行开发;5、熟悉iOS/Android版本的打包发布;6、熟悉代码热更新流程;7、逻辑思维能力强、善于沟通、工作认真细致、责任心强;8、拥有3年工作经验以上者优先。【福利】:1、五险一金:入职开始交2、带薪年假:根据实际工龄计算3、下午茶:水果糕点小零食4、文体活动:团建活动、公司年会5、加班工作餐:再也不用担心饿着肚子加班了6、年度旅游:国内国外游7、生日会:生日蛋糕小礼品少不了8、节日礼品:大大小小的节日礼品少不了9、加薪、全勤奖、员工服务奖、工龄奖、年度优秀员工奖、优秀团队奖、特别贡献奖10、完善的培训和成长机会
学历要求:|工作经验:|公司性质:民营公司|公司规模:50-150人
任职要求:1.2-4年以上php开发经验,精通php脚本语言,精通thinkphp开发框架。2.精通前端开发。精通js开发语言;掌握JavaScript语言核心技术DOM、BOM、Ajax、JSON等;掌握Jquery开发框架;掌握vuejs/reactjs/angularjs其中之一。3.有移动端H5网页开发经验,至少有3实际项目经验,面试需要带作品。4.精通mysql数据库,有查询优化的经验。5.熟悉linux操作系统;熟悉ssh。6.有微信公众平台开发经验优先考虑。7.有良好的代码习惯,要求结构清晰、命名规范、逻辑性强、代码冗余率低,代码注释清晰。
优秀的应届毕业生亦可。
学历要求:本科|工作经验:1年|公司性质:民营公司|公司规模:150-500人
岗位职责:1、负责软件模块的设计、开发、单元测试、集成等工作;2、参与相关需求分析、业务逻辑流程设计及文档编写;3、参与数据模型设计和实现;4、参与性能优化;5、参与新技术研究学习及应用;任职要求:1、计算机相关专业本科及以上学历;2、熟悉常用数据结构和算法;3、熟悉python语言,2年以上python项目开发经验;熟悉java,C,C++,R,golang,scala等语言者优先;4、熟悉flask,或tornado、django框架,并深入了解其中一种;5、熟悉linux系统、http协议;6、熟悉restful api设计风格和规则,熟悉pandas者优先;7、具备良好的编码规范、学习能力,有独立分析解决问题能力;8、工作认真负责,沟通协作意识良好,能够承担工作压力。
学历要求:本科|工作经验:2年|公司性质:民营公司|公司规模:50-150人
1.独立开发各部门提出的新开发需求;2.配合团队分工需求完成开发任务;3.处理日常发现的问题,配合各部门需求完成系统流程优化工作;4.实时处理和定位各系统问题,快速处错;5.按照要求编写合格的文档;6.遵循各项开发部流程规范;招聘要求:1.本科及以上学历,2年以上使用PHP的开发经验,熟练使用PHP、MySQL进行Web系统开发;2.熟悉微信公众号开发和小程序开发者优先;3.精通thinkphp;4.熟练掌握两个以上PHP框架;熟悉PHP脚本语言,了解PHP在LINUX、WINDOWS等平台下的不同编程要求;5.熟练掌握Apache+PHP+MySQL和开发经验;熟练使用CSS、HTML、JavaScript等技术;6.熟悉SQL操作,熟悉Mysql数据库,对PHP缓存技术有一定了解;7.有良好的代码书写、注释和单元测试习惯,熟练运用多种软件设计模式;8.熟悉vue.js、bootstrap等前端开发框架;9.具备良好的沟通合作技巧和心里素质,较强的责任心及团队合作精神,能承受一定工作压力。联系电话:
学历要求:本科|工作经验:3-4年|公司性质:民营公司|公司规模:50-150人
职位描述:1.负责公司iOS产品的架构设计、代码规范、质量控制;2.负责新技术及技术难点的钻研攻关;3.参与项目需求分析及系统框架与核心模块的详细设计及核心模块代码的实现。 任职要求:1.1年以上iOS工作经验,熟悉系统框架和SDK等;2.熟练掌握iOS下网络通信机制,对Socket通信、TCP/IP和HTTP有深刻理解和实际经验;熟悉JSON及XML数据结构及数据解析;3.熟悉面向对象设计,多线程原理,数据结构与算法和Linux系统;4.熟练掌握Swift,Objective-C语言,熟悉面向对象编程设计,具备扎实的编程基础;5.精通iOS应用开发框架、熟练进行iOS UI/Framework开发技能、熟练使用iOS SDK、 熟练进行基于数据库的手机应用开发;6.有一定的软件安全意识,掌握数据加密、防破解、性能优化等技术优先考虑; 7.拥有良好的代码习惯,结构清晰,命名规范,逻辑性强。
共2页,到第页确定
-中高端人才求职平台
年薪:30-80万
招聘职位:
后端开发,前端开发,移动端开发,测试,产品/设计/运营
年薪:40-150万
招聘职位:
财务审计,合规与风险控制,后台运营,投行,销售
年薪:40-60万
招聘职位:
房地产开发,建筑工程,规划设计,商业,市场营销
年薪:20-40万
招聘职位:
汽车新能源,软件与汽车电子,生产制造,质量管理,供应链管理
相似职位推荐
佛山-禅城区
佛山-禅城区
佛山-禅城区
佛山-禅城区
0.8-1.2万/月
佛山-禅城区
4.5-6千/月
佛山-禅城区
佛山-禅城区
佛山-禅城区
5-6.5千/月
佛山-禅城区
0.5-1万/月
佛山-禅城区
佛山-禅城区
佛山-禅城区
佛山-禅城区
0.6-1.2万/月
佛山-禅城区
佛山-禅城区
未经51job同意,不得转载本网站之所有招聘信息及作品 | 无忧工作网版权所有&服务热线:400-702-1168 ()
您好,访客
||||||||||
Apache+Tomcat实现Web服务&
发布时间: 08:00:00&&来源:&&作者:&&点击:234
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。Apache成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
  几乎所有的Linux发布都安装Apache作为默认配置。SuSE7.1甚至预安装有包括各种高级模块选项的Apache,如PHP3,mod_perl和LDAP等等。用户会惊奇地发现系统安装成功就会有一个功能强大的Web服务器可供选择。虽然安装Apache并不是非常简单,但是如果有具有新的特性或安全补丁的Apache发布,则下载源代码包并编译新的Apache是值得的。
  Apache不但具有庞大的用户群基础,并且有丰富的配置使用文档。Apache提供服务器端对脚本技术的支持,比如Perl、PHP等,Apache结合使用Apache JServ可以实现对Java servlets及JSP的支持。Apache的很多模块实现安全方面的防护:如mod_auth提供对对服务器上数据进行适当的保护,而SSL模块则用来保护服务器和客户端之间的通信安全。
bbs.bitsCN.com
  下面我们再介绍一下Tomcat服务器软件,Tomcat是Sun和Apache合作做出来的JSPServer,支持Servlet2.2及JSP1.1等版本。笔者建议大家使用Tomcat,而且Tomcat未来将会取代JServ,成为Apache主要的Servlet&JSPEngine。Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apache中,这样就更可以发挥在servlet中,非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。
  作为WEB服务器扩展的Tomcat服务器有一些问题需要说明:
  当处理静态页面时,Tomcat不如Apache迅速。
  Tomcat不象Apache一样可配置。
  Tomcat不象Apache一样强壮。
  基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面。
  采用apache->tomcat这样的结构才具有更特出的优点,主要体现在具有更好的可扩展性和安全性。这种类型的站点的主要特点是每一个页面都可能是动态生成的,但这些数据中主要部分还是静态的(比如,各类图像GIF、JPG、PNG,流式媒体等),这种结构的优点是兼有可扩展性和安全性。
bitsCN.nET中国网管博客
  下面以solairs8为例,免费下载Solaris版的Apache1.3.27,Tomcat4.1.12来说明安装配置WEB服务软件apache和应用服务软件tomcat(包括JDK),其它平台可以类比。
  注意:下载的Apache、Tomcat的版本与操作系统的类型有关。
  一、应用环境
  操作系统为Solaris8,应用环境为Java1.3(假定安装在/usr/java1.3目录下)、perl5.6(假定安装在/usr/local/bin目录下)和gzip(假定安装在/usr/local/bin目录下)。
  二、软件包的下载、编译与安装
  1、下载地址
  在http://www.apache.org可下载Apache源代码软件包apache_1.3.27.tar.gz。
  在http://jakarta.apache.org/builds/tomcat/release/v4.1.12/src/可下载Tomcat源代码软件包jakarta-tomcat-4.1.12-src.tar.gz。
  在http://jakarta.apache.org/builds/jakarta-tomcat/release/v4.1.12/bin/可下载已编译的Tomcat应用软件包jakarta-tomcat-4.1.12.tar.gz。
  2、编译与安装
  假设各软件包已下载到当前的某个工作目录(如:/home/tmp)下,Apache和Tomcat将安装在/home目录下。在当前目录我们可以进行如下操作。
  1)编译和安装Apache应用服务
BBS.bitsCN.com网管论坛
  ①解包
  $/usr/local/bin/gzip-dc./apache_1.3.27.tar.gz|tarxf-
  ②编译
$cd apache_1.3.27
$./configure--prefix=/home/apache-1.3.27
--with-perl=/usr/local/bin/perl--enable-module=so 
  假设perl的解释命令安装在/usr/local/bin目录下,Apache服务安装在/home/apache-1.3.27目录下。
  ③安装
  $su
  #make install
  2)编译与安装mod_jk插件
  ①解包
  $/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12-src.tar.gz|tarxf-
  ②编译
$cd jakarta-tomcat-4.1.12-src/src/native/apache1.3
$/home/apache-1.3.27/bin/apxs-omod_jk.so-D SOLARIS-I../jk-I/
usr/java1.3/include-I/usr/java1.3/include/solaris-lposix4-c*.c../jk/*.c
  假定Java安装在/usr/java1.3目录下。
  ③安装
$su
#/home/apache-1.3.27/bin/apxs-i-a-njk mod_jk.so
cp mod_jk.so/home/apache-1.3.27/libexec/mod_jk.so
chmod 755 /home/apache-1.3.27/libexec/mod_jk.so
[activating module`jkin/home/apache-1.3.27/conf/httpd.conf]
www_bitscn_com
  3)安装Tomcat服务
  用超级用户身份把已编译的Tomcat4.1.12解包到/home目录下即可。
  $su
  #/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12.tar.gz|(cd/tarxf-)
  3、参数配置
  (1)配置Apache服务
  用vi命令打开Apache的配置文件httpd.conf。
  #cd /home/apache-1.3.27/conf
  #vi httpd.conf
  在末尾添加以下内容。
  JkWorkersFile/home/jakarta-tomcat-4.1.12/conf/workers.properties
  JkLogFile/home/apache-1.3.27/logs/mod_jk.log
  注意:日志文件可根据具体情况调整。
JkLogLevelwarn
JkMount/*.jspajp13
JkMount/servlet/*.jspajp13
  (2)配置Tomcat服务
  首先,修改server.xml文件。
  这里假定存放Apache的Web网页的根目录为/home/htdocs。
#cd /home/jakarta-tomcat-4.1.12/conf
#vi server.xml
您的位置:栏目分类 & 软件 & 服务器软件 & Web服务器 &
bitsCN_com Apache+Tomcat实现Web服务
16:17  务实/(天极软件频道)
上一页 1 2 3
  然后,在Connectors部分嵌入如下内容。
<ConnectorclassName=&org.apache.tomcat.service.
PoolTcpConnector&><Parametername=&handler&
value=&org.apache.tomcat.service.connector.Ajp
13ConnectionHandler&/>
<Parametername=&port&value=&8007&/>
</Connector>
  接着,在SpecialWebapps部分嵌入如下内容。
<Contextpath=&&
docBase=&/home/htdocs&
debug=&0&>
</Context>
  修改workers.properties文件。
#vi workers.properties
...
workers.tomcat_home=/home/jakarta-tomcat-4.1.12
...
workers.java_home=/usr/java1.3
...
ps=/
...
  随后,修改Tomcat启动和关闭命令文件。
#cd ../bin
#vi startup.sh
  再在&BASEDIR=`dirname$0`&语句前嵌入如下内容。
PATH=/usr/java1.3/bin:$PATH:.
JAVA_HOME=/usr/java1.3
中国网管联盟 TOMCAT_HOME=/home/jakarta-tomcat-4.1.12
Export PATH JAVA_HOMETOMCAT_HOME
#vi shutdown.sh
  最后,在&BASEDIR=`dirname$0`&语句前嵌入如下内容。
PATH=/usr/java1.3/bin:$PATH:.
JAVA_HOME=/usr/java1.3
TOMCAT_HOME=/home/jakarta-tomcat-4.1.12
Export PATH JAVA_HOMETOMCAT_HOME
  至此,Apache和Tomcat服务器软件安装成功,上面是在UNIX(Solaris)平台下构建JSP网站的基本配置。Apache与Tomcat结合支持JSP动态网页开始是通过一个名为&mod_jserv&的插件来实现的,采用这种Apache/Jserv方式配置参数十分复杂,运行效率很低,而且对SSL(一种加密传输方式)的支持也不理想,因此Jakarta工作组新近开发了&mod_jk&插件,它很好地弥补了mod_jserv的缺点,而且能支持Apache以外的多种Web服务。关于这种Apache/Jk方式的实现原理,请参考有关资料。
  三、UNIX或LIUNX环境下Web服务器的安全管理与维护
  1、Apache和Tomcat的启动和关闭
  #/home/apache-1.3.27/bin/apachectl start    启动
bitsCN_com   #/home/apache-1.3.27/bin/apachectl stop     关闭
  #/home/jakarta-tomcat-4.1.12/bin/startup sh   启动
  #/home/jakarta-tomcat-4.1.12/bin/shutdown sh  关闭
  2、Apache和Tomcat的web服务器的安全管理
  1)Apache和Tomcat都具有支持安全Socket层(SSL)的功能
  在Tomcat中声明安全性,WEB应用程序的安全性主要在相应的Web.xml中设置,Tomcat支持的鉴权机制为HTTP基本鉴权机制BASIC和基于表单的鉴权机制FROM(JSP网站)。
  过滤是Tomcat 4的新功能,能够用过滤器来实现以前使用不便的或难以实现的功能,这些功能包括:
  资源访问(Web页、JSP页、servlet)的定制身份认证;
  应用程序级的访问资源的审核和记录;
  应用程序范围内对资源的加密访问,它建立在定制的加密方案基础上;
  对被访问资源的及时转换,包括从servlet和JSP的动态输出。
  2)Apache的安全设置
  Apache服务器设置安全信息--Access.conf文件中的指令控制着用户对站点的访问及如何进行访问方面的信息。包括文件树的安全、脚本目录安全性、Options指令、AllowOverride指令、使用Order指令、使用有限容器、添加用户鉴定功能等)。
DL.bitsCN.com网管软件下载
  3)Apache模块(PHP网站)
  当PHP做为Apache的模块来运行时它继承了Apache的安全设置。任何的文件请求都要经过Apache的严格检查,只有通过检查的请求才被送往PHP。
以上内容由
搜集整理,如转载请注明原文出处,并保留这一部分内容。
  “华夏名网” http://www.sudu.cn 和 http://www.bigwww.com 是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租用业务。公司创建于2002年,经过6年的高速发展,“华夏名网”已经成为我国一家知名的互联网服务提供商,被国外权威机构webhosting.info评价为十大IDC服务商之一。
华夏名网网址导航:
上一篇:下一篇:
(4915次点击) (2767次点击) (4157次点击) (2792次点击) (2366次点击) (3724次点击) (3565次点击) (2358次点击) (2528次点击) (2437次点击)
(3413次点击) (3231次点击) (3242次点击) (3988次点击) (2404次点击) (2318次点击) (3208次点击) (3615次点击) (2348次点击) (2332次点击)
& SUDU.CN 飞数科技 版权所有
电话总机:028-91 94
公司地址:四川省成都市青龙街51号倍特康派大厦10楼5号EBB-26、web服务Apache
<span type="1" blog_id="1249618" userid='
分享到朋友圈
关注作者,不错过每一篇精彩Linux网络服务Web Service之Apache-Prefork、Worker和Event三种工作模式分析(二) - WEB服务器 - 次元立方网 - 电脑知识与技术互动交流平台
Linux网络服务Web Service之Apache-Prefork、Worker和Event三种工作模式分析(二)
一,Apache简介:
上章中已经提到http是协议,而且它的特性之一就是基于C/S模式,那么予以实现这个协议的软件或者说是程序有许多,例如:ASF: httpd、nginx、lighttpd、gws、IIS、jetty、resin,而客户端又可以分为GUI和CLI,GUI:IE、Firefor、Safari、Chrome、Opera;CLI:elinks、curl。
那下面我们用到的是httpd,俗称Apache.
httpd是一种高度模块化设计Web服务软件
core(核心) + modules(外围模块);DSO: Dynamic Shared Object(动态共享对象),我们在编译时可以选择对我们有用的模块,选择后还可以进一步的指定启用否;MPM: Multipath Processing Module(多道处理模块);它是httpd的特性,是一种统称,并非是一个模块,而是对一种特性的称谓;
下面内容我们将了解到MPM的三个模块各自的特性:
二,Apache三种MPM介绍
Apache 2.X 支持插入式并行处理模块,称为多路处理模块(MPM)。在编译apache时必须选择也只能选择一个MPM,对类UNIX系统,有几个不同的MPM可供选择,它们会影响到apache的速度和可伸缩性。这三种MPM记录于conf/extra/httpd-mpm.conf文件中。
PreforkMPM:
这个多道处理模块(MPM)实现了一个非线程型的、预派生的web服务器,prefork模型原理会为每个请求创建一个新进程。多余的进程保持空闲,以处理传入的请求,这缩短了启动延迟。
这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小。
WorkerMPM:
此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。
每个进程可以拥有的线程数量是固定的。服务器会根据负载情况增加或减少进程数量。一个单独的控制进程(父进程)负责子进程的建立。每个子进程可以建立ThreadsPerChild数量的服务线程和一个监听线程,该监听线程监听接入请求并将其传递给服务线程处理和应答。
不管是Worker模式或是Prefork 模式,Apache总是试图保持一些备用的(spare)或者是空闲的子进程(空闲的服务线程池)用于迎接即将到来的请求。这样客户端就不需要在得到服务前等候子进程的产生。
EventMPM:
以上两种稳定的MPM方式在非常繁忙的服务器应用下都有些不足。尽管HTTP的 Keepalive方式能减少TCP连接数量和网络负载,但是 Keepalive需要和服务进程或者线程绑定,这就导致一个繁忙的服务器会耗光所有的线程。 Event MPM是解决这个问题的一种新模型,它把服务进程从连接中分离出来。在服务器处理速度很快,同时具有非常高的点击率时,可用的线程数量就是关键的资源限制,此时Event MPM方式是最有效的。一个以Worker MPM方式工作的繁忙服务器能够承受每秒好几万次的访问量(例如在大型新闻服务站点的高峰时),而Event MPM可以用来处理更高负载。值得注意的是,Event MPM不能在安全HTTP(HTTPS)访问下工作。
三,配置三种MPM
查看、配置Apache安装的MPM
[root@GMQ ~]# httpd -l #&列出支持使用的非DSO模块
Compiled in modules:
http_core.c
[root@GMQ ~]# httpd -M #&列出已经装载的所有DSO以及非DSO模块
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
#&注意:我使用的是CentOS6.5自带的httpd软件,并且当前默认支持的就是prefork MPM,虽然它携带了event MPM,但是也只是作为实验性.
[root@GMQ ~]# uanem -a
GMQ 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC
x86_64 x86_64 GNU/
[root@GMQ ~]# httpd -V
Server version: Apache/2.2.15 (Unix)
#&若要想此httpd版本也支持worker MPM则需要修改配置文件:
[root@GMQ ~]# vim /etc/sysconfig/httpd
#HTTPD=/usr/sbin/httpd.worker #将此行复制到下面并取消注释
HTTPD=/usr/sbin/httpd.worker
[root@GMQ ~]# ps -aux #&用此命令可以看到当前使用的是worker MPM了:
0:00 /usr/sbin/httpd.worker
0:00 /usr/sbin/httpd.worker
0:00 /usr/sbin/httpd.worker
0:00 /usr/sbin/httpd.worker
#&如果你看到perfork.c则表示当前为perfork MPM模式。worker.c则表示为worker MPM模式。event.c则表示为event MPM模式。
#&如果想使用event MPM则需要使用高版本的httpd,例如最新的2.4.
Prefork 是UNIX平台上默认的MPM,它所采用的预派生子进程方式也是apache 1.3中采用的模式。prefork 本身并没有使用到线程,2.0 版本使用它是为了与1.3版保持兼容性;另一方面,perfork用单独的子进程来处理不同的请示,之进程之间是彼此独立的,这也使其成为最稳定的MPM 之一。
四,三种MPM参数分析
1) perfork MPM分析
[root@GMQ ~]# cat /etc/httpd/conf/httpd.conf #&查看prefork在apache里的默认配置
&IfModule prefork.c&
StartServers
#&默认启动的工作进程数;
MinSpareServers
#&最少空闲工作进程数,保存备用
MaxSpareServers
#&最大空闲工作进程数,保存备
ServerLimit
#&最大活动工作进程数;
MaxClients
#&并发请求的最大数;
MaxRequestsPerChild
#&每个子进程在生命周期内所能够服务的最多请求个数
&/IfModule&
prefork模型原理会为每个请求创建一个新进程。多余的进程保持空闲,以处理传入的请求,这缩短了启动延迟。这里预先建立完成控制进程在最初建立&StartServers&个子进程后,为了满足&MinSpareServers&设置的需要创建若干进程,直到满足&MinSpareServers&设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。  
&MaxSpareServers&设置了最大的空闲进程数,如果空闲进程数大于这个值,Apache会自动kill掉一些多余进程。这个值不要设得过大,但如果设的值比&MinSpareServers&小,Apache会自动把其调整为MinSpareServers+1。如果站点负载较大,可考虑同时加大&MinSpareServers&和&MaxSpareServers&。
&MaxClients&是这些指令中最为重要的一个,设定的是Apache可以同时处理的请求,是对Apache性能影响最大的参数。其缺省值150是远远不够的,如果请求总数已达到这个值(可查询ps -ef|grep apache|wc-l),那么后面的请求就要排队,直到某个已处理请求完毕。这就是为什么系统资源还剩下很多而HTTP访问却还很慢。
如果 MaxClients设置过高,那么所有客户机也将体验到糟糕的服务,因为 Web服务器会试图换出一个进程,以使另一个进程能够运行。而设得过低意味着可能会不必要地拒绝服务。MaxClients 的值超过256,必须将 ServerLimit 也设为同样的数值.ServerLimit是活动子进程数量的硬限制。
&MaxRequestsPerChild&设置的是每个子进程可处理的请求数。每个子进程在处理了&MaxRequestsPerChild&个请求后将自动销毁。0意味着无限,即子进程永不销毁。虽然缺省设为0可以使每个子进程处理更多的请求,但如果设成非零值也有两点重要的好处:可防止意外的内存泄漏;在服务器负载下降的时侯会自动减少子进程数。
以下是经过调整优化了参数配置:
[root@GMQ ~]# vim
/etc/httpd/conf/httpd.conf
&IfModule mpm_prefork_module&
ServerLimit
StartServers
MinSpareServers
MaxSpareServers
MaxClients
MaxRequestsPerChild
&/IfModule&
2)worker MPM分析
[root@GMQ ~]# cat /etc/httpd/conf/httpd.conf#&查看worker在apache里的默认配置
&IfModule worker.c&
StartServers
#&启动的子进程的个数;
MaxClients
#&并发请求的最大数,保存备用;
MinSpareThreads
#&最小空闲线程数;保存备用;
MaxSpareThreads
#&最大空闲线程数;
ThreadsPerChild
#&每个子进程可生成的线程数;
MaxRequestsPerChild
#&每个子进程在生命周期内所能够服务的最多请求个数,0表示不限定;
&/IfModule&
worker的工作原理是,由主控制进程生成&StartServers&个子进程,每个子进程中包含固定的ThreadsPerChild线程数,各个线程独立地处理请求。同样,为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线程数;而&MaxClients&设置了所有子进程中的线程总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。
&MinSpareThreads&和&MaxSpareThreads&的最大缺省值分别是75和250。这两个参数对Apache的性能影响并不大,可以按照实际情况相应调节。
&ThreadsPerChild&是workerMPM中与性能相关最密切的指令。这个指令设置了每个进程建立的进程数。子进程在启动时建立这些线程后就不在建立新的线程了。每个进程所拥有的所有线程的总数足够大,以便可以处理可能的请求高峰。
worker模式下所能同时处理的请求总数是由子进程总数乘以&ThreadsPerChild&值决定的,应该大于等于&MaxClients&。如果显式声明了&ServerLimit&,那么它乘以ThreadsPerChild的值必须大于等于&MaxClients&,而且&MaxClients&必须是&ThreadsPerChild&的整数倍,否则Apache将会自动调节到一个相应值(可能是个非期望值). 以下是经过调整优化了参数配置:
[root@GMQ ~]# vim
/etc/httpd/conf/httpd.conf
&IfModule mpm_worker_module&
StartServers 3
MaxClients 2000
ServerLimit 25
MinSpareThreads 50
MaxSpareThreads 200
ThreadLimit 200
ThreadsPerChild 100
MaxRequestsPerChild 0
&/IfModule&
3)event MPM分析
这里我们通过一台已经编译好的httpd-2.4来查看它的event MPM
&IfModule mpm_event_module&
StartServers
3 #&启动的子进程的个数
MinSpareThreads
75 #&最小空闲线程数;
MaxSpareThreads
250 #&最大空闲线程数;
ThreadsPerChild
25 #&每个子进程可生成的线程数
MaxRequestWorkers
400 #&最大线程数量;
MaxConnectionsPerChild
0 #&每个子进程在其生存期内允许伺服的最大请求数量, 如果设置为0,子进程将永远不会结束,为了防止内存泄漏,我们需要将它的默认值不设置为0;
&/IfModule&
延伸阅读:
  Django的部署可以有很多方式,采用nginx+uwsgi的...
本教程为 李华明 编著的iOS-Cocos2d游戏开发系列教程:教程涵盖关于i......
专题主要学习DirectX的初级编程入门学习,对Directx11的入门及初学者有......
&面向对象的JavaScript&这一说法多少有些冗余,因为JavaScript 语言本......
Windows7系统专题 无论是升级操作系统、资料备份、加强资料的安全及管......

我要回帖

更多关于 软件学院信息化平台 的文章

 

随机推荐