利用ITIL建立高效能IT服务

Something 发表了文章 • 0 个评论 • 11 次浏览 • 9 小时前 • 来自相关话题

急需转型的企业IT服务
 
在企业里,IT部门一般是作为服务部门而存在,大部分企业IT部门是以提供基础架构服务和通用IT服务为主,如何提高系统的可用性和提升响应速度就变成IT服务管理内容的核心。
 
目前,国内企业的IT管理经历了系统管理、网络管理之后,现在正逐渐向IT服务管理阶段过渡。但许多企业IT服务远没有实现主动式管理,依然停留在服务支持管理的层面上。
 

IT服务管理的必要理念

目前,IT已成为许多业务流程中必不可少的部分,IT服务地位的提升意味着IT要承担更大的责任。一方面,IT必须满足业务流程不断变化的需求;另一方面,IT服务的相关成本也要随之不断降低。但是我们看见,IT在这两个方面都没有做出令人满意的答案。
 

IT服务管理的根本目标

IT服务管理的根本目标有三个:
第一,以用户为中心提供IT服务第二,提供高质量、低成本的服务第三,提供可量化计价的服务。
如果简单说明,IT服务管理可概括为"二次转换",第一次是"梳理",第二次是"打包"。
 
首先,将纵向的各种IT技术管理工作(传统IT管理的重点),如服务器管理、网络管理和系统软件管理等进行“梳理”,形成典型的流程,这是第一次转换。这主要是供IT部门内部使用,用户对此并不感兴趣。但是,仅是这些流程还不能保证服务质量或客户满意,还需将流程按需”打包“成特定的IT服务,提供给用户,这是第二次转换。
 
简单来说,第一次转换是将IT技术管理转化为IT流程管理,第二次转换是将IT流程管理转化为IT服务管理。
 
从用户的角度来说, IT只是提高运营业务效率的一种工具,用户不需要对IT有太多的了解,用户需要的是IT所实现的功能。用户和IT部门之间的交流,使用的是”商业语言“而不是”技术语言“,IT部门需要向用户提供的是 IT服务。
 
为了能够灵活、及时和有效地提供IT服务,并保证服务质量、理化计算有关成本,IT服务就必须事先对服务进行一定程度上的分类和打包。




 

ITIL高效解决IT服务问题

ITIL的全名是IT基础设施库,简单的说,就是一套针对各行业的IT服务管理标准库。 ITIL结合流程、人员和技术三要素,为企业的IT构建一套从计划、研发、实施到运行维护的最佳实践方案。
 
一套协同流程是ITIL框架的核心,它通过服务级别协议(SLA)来保证IT服务的质量。它融合了系统管理、网络管理、系统开发管理等管理活动,以及关于变更管理、资产管理、问题管理等许多流程的理论和实践。
 
ITIL提供的是一种流程处理的IT服务管理方案,它通过工作单形成IT服务流程闭环,以确保整个IT服务过程有据可查。同时,ITIL还制定了明确的服务流程规范,员工需要严格按照流程进行操作。ITIL不断高效地解决IT服务问题,提高IT部门服务效率,以此使用户感到满意,从而达到优质的服务。ITIL是一个很好的手段, 它简化了IT服务管理,变得优质与高效。




 建立高效能IT服务告别危机时代
 

清晰IT服务质量SLA目标

IT服务的质量目标是各方对IT服务管理的期望,它是业务部门和IT部门双方根据业务目标制定的。一个好的IT服务目标要有这几个方面的作用:明确持续服务管理,改进活动的方向;促使有关人员朝正确方向采取行动;协调不同人员的多个行动;简要有力地说明高层管理者的意图。
 

分析IT服务管理的现状

评估企业目前的IT服务管理现状和成熟度级别是核心步骤之一。ITIL自我评估手册提供了一个全面的评估方法。因为,用户的需求和IT服务现状是决定所提供IT服务的基础,而服务流程、职能、技能、企业结构和文化等则是根据用户需求和所提供的服务类型决定的。
 
分析和评价的现状要从这几个方面考虑:IT部门是否理解业务战略和方向、业务面临的问题;IT部门是否理解技术对业务的作用;IT部门和业务部门对当前IT服务成熟度和IT服务质量的看法是否一致;IT部门是否清楚了解利益相关者的需求; IT部门是否清楚了解不改进IT服务质量的后果等。
 

制定高效的IT服务管理方案

管理方案包括两个方面,一是选用何种服务管理工具,二是进行教育、培训、文化变革。经验表明,成功的IT服务管理实施,更多的是要依靠后者。
 
这一阶段的IT服务工作包括以下几点:
文件和制度制定:主要有IT制度文件准备、编制用户手册、工作记录手册及IT管理人员工作指南等。
员工培训工作:对与IT系统相关的每位员工都要进行适当的培训,一方面是对IT人员要加强业务知识技能的培训,理解业务原理及本质

对业务人员要加强IT知识技能的培训,通过培训可以使IT业务人员都能理解IT服务管理各流程的基本原则。
 
关键成功因素和绩效指标决定IT服务考核标准
 
检查IT服务效果是保障IT服务高质量的关键过程之一。这需要事先明确定义一系列可测量的目标和指标,然后在每个时期内进行评审,检查IT服务目标是否达到,服务质量是否得到提高。否则,就需要提出和采取补救和改进措施来实现预期目标。

因此,可以先为每个IT服务确定和定义一些关键成功因素(CSF)和关键绩效指标 (KPI)。关键成功因素是使每个IT服务达到高质量所需达到的最低要素,关键绩效指标是测量每个关键成功因素是否实现的具体数量指标。关键成功因素和关键绩效指标建立了每个IT服务的绩效考核基准。
 

总结

俗语说:创业难,守业更难。逆水行舟,不进则退。先前的IT服务活动已经达到目标,继而就要巩固取得的成果并采取进一步的改进行动。我们必须明白一个道理,提高IT服务质量是一个永无止境的持续过程。

摩卡业务服务管理(Mocha BSM)能够监控基础设施和应用,也能够将复杂的IT设施转化为简单的业务视图,它帮助我们从IT服务的角度出发,保障IT部门提供稳定可靠的服务。
阅读分享:http://www.sootoo.com/content/47944.shtml  查看全部
急需转型的企业IT服务
 
在企业里,IT部门一般是作为服务部门而存在,大部分企业IT部门是以提供基础架构服务和通用IT服务为主,如何提高系统的可用性和提升响应速度就变成IT服务管理内容的核心。
 
目前,国内企业的IT管理经历了系统管理、网络管理之后,现在正逐渐向IT服务管理阶段过渡。但许多企业IT服务远没有实现主动式管理,依然停留在服务支持管理的层面上。
 


IT服务管理的必要理念


目前,IT已成为许多业务流程中必不可少的部分,IT服务地位的提升意味着IT要承担更大的责任。一方面,IT必须满足业务流程不断变化的需求;另一方面,IT服务的相关成本也要随之不断降低。但是我们看见,IT在这两个方面都没有做出令人满意的答案。
 


IT服务管理的根本目标


IT服务管理的根本目标有三个:
  • 第一,以用户为中心提供IT服务
  • 第二,提供高质量、低成本的服务
  • 第三,提供可量化计价的服务。

如果简单说明,IT服务管理可概括为"二次转换",第一次是"梳理",第二次是"打包"。
 
首先,将纵向的各种IT技术管理工作(传统IT管理的重点),如服务器管理、网络管理和系统软件管理等进行“梳理”,形成典型的流程,这是第一次转换。这主要是供IT部门内部使用,用户对此并不感兴趣。但是,仅是这些流程还不能保证服务质量或客户满意,还需将流程按需”打包“成特定的IT服务,提供给用户,这是第二次转换。
 
简单来说,第一次转换是将IT技术管理转化为IT流程管理,第二次转换是将IT流程管理转化为IT服务管理。
 
从用户的角度来说, IT只是提高运营业务效率的一种工具,用户不需要对IT有太多的了解,用户需要的是IT所实现的功能。用户和IT部门之间的交流,使用的是”商业语言“而不是”技术语言“,IT部门需要向用户提供的是 IT服务。
 
为了能够灵活、及时和有效地提供IT服务,并保证服务质量、理化计算有关成本,IT服务就必须事先对服务进行一定程度上的分类和打包。
cmdb.png

 


ITIL高效解决IT服务问题


ITIL的全名是IT基础设施库,简单的说,就是一套针对各行业的IT服务管理标准库。 ITIL结合流程、人员和技术三要素,为企业的IT构建一套从计划、研发、实施到运行维护的最佳实践方案。
 
一套协同流程是ITIL框架的核心,它通过服务级别协议(SLA)来保证IT服务的质量。它融合了系统管理、网络管理、系统开发管理等管理活动,以及关于变更管理、资产管理、问题管理等许多流程的理论和实践。
 
ITIL提供的是一种流程处理的IT服务管理方案,它通过工作单形成IT服务流程闭环,以确保整个IT服务过程有据可查。同时,ITIL还制定了明确的服务流程规范,员工需要严格按照流程进行操作。ITIL不断高效地解决IT服务问题,提高IT部门服务效率,以此使用户感到满意,从而达到优质的服务。ITIL是一个很好的手段, 它简化了IT服务管理,变得优质与高效。
itil.png

 建立高效能IT服务告别危机时代
 


清晰IT服务质量SLA目标


IT服务的质量目标是各方对IT服务管理的期望,它是业务部门和IT部门双方根据业务目标制定的。一个好的IT服务目标要有这几个方面的作用:明确持续服务管理,改进活动的方向;促使有关人员朝正确方向采取行动;协调不同人员的多个行动;简要有力地说明高层管理者的意图。
 


分析IT服务管理的现状


评估企业目前的IT服务管理现状和成熟度级别是核心步骤之一。ITIL自我评估手册提供了一个全面的评估方法。因为,用户的需求和IT服务现状是决定所提供IT服务的基础,而服务流程、职能、技能、企业结构和文化等则是根据用户需求和所提供的服务类型决定的。
 
分析和评价的现状要从这几个方面考虑:IT部门是否理解业务战略和方向、业务面临的问题;IT部门是否理解技术对业务的作用;IT部门和业务部门对当前IT服务成熟度和IT服务质量的看法是否一致;IT部门是否清楚了解利益相关者的需求; IT部门是否清楚了解不改进IT服务质量的后果等。
 


制定高效的IT服务管理方案


管理方案包括两个方面,一是选用何种服务管理工具,二是进行教育、培训、文化变革。经验表明,成功的IT服务管理实施,更多的是要依靠后者。
 
这一阶段的IT服务工作包括以下几点:
文件和制度制定:主要有IT制度文件准备、编制用户手册、工作记录手册及IT管理人员工作指南等。
员工培训工作:对与IT系统相关的每位员工都要进行适当的培训,一方面是对IT人员要加强业务知识技能的培训,理解业务原理及本质

对业务人员要加强IT知识技能的培训,通过培训可以使IT业务人员都能理解IT服务管理各流程的基本原则。
 
关键成功因素和绩效指标决定IT服务考核标准
 
检查IT服务效果是保障IT服务高质量的关键过程之一。这需要事先明确定义一系列可测量的目标和指标,然后在每个时期内进行评审,检查IT服务目标是否达到,服务质量是否得到提高。否则,就需要提出和采取补救和改进措施来实现预期目标。

因此,可以先为每个IT服务确定和定义一些关键成功因素(CSF)和关键绩效指标 (KPI)。关键成功因素是使每个IT服务达到高质量所需达到的最低要素,关键绩效指标是测量每个关键成功因素是否实现的具体数量指标。关键成功因素和关键绩效指标建立了每个IT服务的绩效考核基准。
 


总结


俗语说:创业难,守业更难。逆水行舟,不进则退。先前的IT服务活动已经达到目标,继而就要巩固取得的成果并采取进一步的改进行动。我们必须明白一个道理,提高IT服务质量是一个永无止境的持续过程。

摩卡业务服务管理(Mocha BSM)能够监控基础设施和应用,也能够将复杂的IT设施转化为简单的业务视图,它帮助我们从IT服务的角度出发,保障IT部门提供稳定可靠的服务。
阅读分享:http://www.sootoo.com/content/47944.shtml 

腾讯发布云实验室、开源开发工具,助力开发者连接AI未来

图灵之歌 发表了文章 • 0 个评论 • 13 次浏览 • 21 小时前 • 来自相关话题

当人工智能不再遥不可及,用户像“插上电”一样“接入云”,开发者再次迎来新一波的机遇。在云+未来峰会上,腾讯云正式推出“智能云”。而在6月22日的开发者专场上,腾讯发布面向开发者的云实验室,让未来AI技术唾手可得。

同时预告,针对AI领域,即将开源Angel、NCNN等项目,并表示支撑3000多家企业的腾讯高效开发工具TAPD将在腾讯云开放,以及明年初开放支持移动APP开发的持续集成云平台。
 
现场,腾讯云揭秘内测中的CDN边缘计算,可一次部署全球执行,应用在多个场景。同时腾讯云欢迎开发者参与到Serverless的优化中。以上分享进一步满足人工智能、云计算下开发者的需求(即希望使用更敏捷的开发、更敏捷的基础服务等),降低AI使用门槛,加速AI的落地。
 
著名Angular框架推广者大漠穷秋做了开场演讲,分享互联网的四波浪潮,即桌面互联网、移动互联网时代、云计算时代和人工智能时代。并表示,在桌面互联网时代,开发者或者初创企业想去做一件事情很困难,人工智能时代则不一样,开发者依然有发挥空间,这不只是巨头的红利时代,市场需求背后隐藏的未知领域需要各行业共同开拓。


陈子舜:腾讯云实验室发布,未来技术唾手可得

 

腾讯云技术总监陈子舜分享,“我的一个朋友和我分享他的见闻,‘一个优秀云计算工程师有5家企业在争抢,他们的平均薪资比传统IT人员高出40%’。”他表示,这是一个很好的时代,腾讯云希望将自身拥有的大数据、AI等前沿技术,向开发者开放,让未来技术变得唾手可得。

为此,腾讯云正式发布实验室,为开发者提供从学习工具、实验内容到经验分享的闭环服务,开发者可以获得一站式的沉浸式学习环境,使用微信扫码即可免费领取实验机器,直接采用真实的环境作为实验基础。同时,腾讯云还引入社区+实验室的服务模式,让开发者在技术社区提问或分享经验教程,帮助更多开发者解决问题。

按照腾讯云在开发者社区的计划,不仅为开发者提供开发者实验室,还会提供开源技术、开发工具和文档、线下活动、培训和认证等各类服务。


许勇:腾讯开源在路上,工程师热情参与

 

腾讯研发管理部总监许勇揭秘了腾讯开源之路,从腾讯人的角度,解读腾讯开源的技术。目前,腾讯已经开源的项目有RapidJSON、Tinker、WEUI、Mars、MSEC、Libco、GT、Tars、WCDB等,针对AI领域,腾讯还即将开源AI框架Angel、NCNN等项目,以满足高性能机器学习、天天P图及其他不同应用场景的需求。许勇表示,相比于国外成熟的开源社区,腾讯还在追赶阶段,不过,腾讯正被开源的力量唤醒,和开发者一起把中国的开源做得更好。

许勇致力于腾讯内部开源社区建设及外部开源项目管理,他分享到,腾讯内部开源社区提供了从轻量到重度参与开源的各种形式,可以简简单单的分享片段,也可以分享自己的开源项目,以实现更大的技术价值,建立自己的技术影响力。截止2016年,腾讯内部的开源组件达到了1600个以上,目前的日活跃用户数量在3000以上。

同时腾讯云作为腾讯开源的一支重要力量,积极参与开源社区,最近2个月加入3个开源组织,首先在5月加入CNCF基金会和Linux基金会,在容器服务和KVM虚拟化方面贡献自己的力量,同时于6月加入MariaDB基金会。去年腾讯也加入了Alloyteam基金会,腾讯同时也在运营独立开源社区OpenDaylight,在外界有不错的口碑,并汇聚了一群热心的开发者。腾讯也在积极贡献一些开源项目,包括docker,维护Hadoop、patch的提交等等,越来越多的腾讯工程师热情参与到开源中来。


陆莹:开放腾讯2万多人使用的敏捷研发平台TAPD 

 

面对复杂多变、快速迭代的开发环境,腾讯拥有2万多人的研发团队,同时进行3000多个项目,孕育400多个产品的背景下,如何进行高效合作?

腾讯产品专家陆莹的答案是腾讯敏捷研发平台TAPD,20个模块可以灵活应用,可以自由搭配适合自己研发过程的流程,赋予了团队更多的可能。去年6月份TAPD开始提供给腾讯投资的一些公司和腾讯云部分用户使用,到2017年5月,TAPD已经全面开放注册,目前成功支撑3000多家企业进行敏捷研发协作。 

她表示,将和腾讯云一起将TAPD开放给更多致力敏捷研发的伙伴们,“我们将会分享腾讯近十年的研发协作案例和经验,让腾讯云生态上的小伙伴们都能进行敏捷研发,让协作更敏捷。”


魏文强:腾讯将提供持续集成云平台,开放游戏经验



腾讯互娱持续集成平台负责人魏文强从Why、How两个角度带来了持续集成云平台上的一些思考。他表示,现在竞争越来越激烈,特别是游戏行业,经常是你问产品下一步要做什么事情,可能只有一个大概的方向,但具体做什么不知道,所以要求开发迭代越来越快,周期越来越短。

这样会导致什么问题?软件开发不是在最后产品部署阶段才有云上需求,而是贯穿整个生命周期,从软件开发初始阶段就要考虑云怎么部署。在云上提供集成平台服务,是必做的环节。此外,代码托管、持续集成、项目管理、工具链等云平台逐步发展,带来了持续集成平台的需求。

关于如何做,魏文强从突出自己特色、安全和稳定、构建速度以及最佳实践和灵活替换四个角度作了总结。他表示,在2018年初计划提供优先支持移动APP开发,特别是针对手游做特定优化的持续集成云平台,2018年年中对docker和windows进行支持。
 

余子军:揭秘腾讯云CDN边缘计算,解决多个关键问题

 

腾讯CDN技术总监余子军揭秘内测中的腾讯云CDN边缘计算,这是适应大数据、AI时代对网络加速需求而诞生的服务。余子军现场举例说到,腾讯的用户到腾讯的CDN平均距离是170多公里,如果采用光缆,成本非常昂贵的,而采用CDN可以很好地解决这个问题。

腾讯云CDN边缘计算可以在离用户更近的地方进行计算,一次部署全球执行,更快速更安全。还可以应用在多个场景,灵活敏捷低成本地解决关键问题:
•    图片自适应的场景:根据终端类型、网络状态和请求字段等决策编码方案,支持图片缩放、裁剪、水印等。
•    防盗链和权限控制的场景:可灵活控制全部禁止、部分禁止、限速的结果;还可以用在灰度测试中,新版本发布的时候。
•    控制发布进度的场景:灵活决策新版本的用户范围、设置Cookie标记用户和上报访问日志。


周军:腾讯云CAM应用,如何灵活保障用户信息的安全


 
腾讯云产品总监周军从腾讯云CAM应用案例,分享腾讯如何通过对用户认知、权限验证以及日志审计等各个环节的把控,为用户保障信息的安全、无泄漏。

“简单来说,在用户认证访问时,我们通常先问你是谁,问你想干什么。这些东西验证下来就让账户体系变得很复杂,这就是我们常说的鱼和熊掌不可兼得,安全与便捷也是一样的。”周军说,“如果没有安全问题,很多的服务成本可以去掉,不考虑黑客问题,不考虑别人盗用数据问题,安全是负成本的问题,但是要安全就很可能不便捷。”

为了让账户既安全又便捷,腾讯做了几件事情,第一个事情是账户关联,所有账户体系都支持。第二是认证体系里二次验证变得非常灵活,用户可以采用任何一种方式来验证。周军还提到,腾讯云、企业邮箱、企业微信都做到了账户互通,用户可以用一个企业微信账户体系来授权和管理腾讯云的所有东西。


黄文俊: Serverless让开发者抽离繁重运维

 

腾讯云技术专家黄文俊打了一个比方,一个基因数据公司,利用基因数据进行相应的数据分析,需要面对有各种各样的分析函数,不同的执行流程。为了解决这个问题,首先要准备相应的服务器,让用户提交数据,上传数据;每次提交来做相应执行,再用另外一个服务器接受这些任务,处理这些数据;真正处理数据的程序还要进行开发部署,完成了开发部署还要去规划,究竟要用多大的服务器,多少台服务器来准备,后期服务器的运维又将多么复杂,这是每一个开发者需要烦恼的问题。

“我们能否有一个更好的解决方法?把我们从繁重的运维上抽离出来?”黄文俊说,无服务器计算可以很好地解决这个问题,“这是一个很新的概念,无服务器是不是就没有服务器了?是不是真的Serverless了?不,Serverless不是说没有服务器,而是开发人员和运维人员不需要再考虑服务器,不需要再放太多的精力在上面,而是交给云。”

用户只需要上传代码即可以最便捷的方式使用腾讯云高效稳定的全球基础设施,并可实现毫秒级的弹性伸缩,服务成本低廉,代码按需运行,空闲时不收费。经测试,按调用次数和运行时间付费,在每个月请求不足百万时,使用无服务器云函数比使用多台云主机搭建集群的成本减少约70%,适用于云计算和AI时代下需要低门槛进入技术,以及体验佳的要求。

他提到,这里面有两个核心,一个是Function as a Service,以函数的形式委托到云上来,由云来做顶层管理。还有一个就是Backend as a Service,比如说对象存储、数据库、消息队列或者云的缓存。其中Function as a Service的核心就是腾讯云最新推出的产品——Serverless Cloud Function。目前腾讯云的Serverless架构在内测阶段,非常欢迎开发者积极参与到Serverless无服务器的优化当中,共筑最佳运维环境。

英特尔刘斌:FPGA异构计算的价值在计算力、灵活性、未来可扩展性

 

英特尔可编程解决方案事业部亚太区计算业务总经理刘斌带来FPGA异构计算前沿的分享,“我们看到一个问题,今天谈人工智能,特别是谈更多智能化事物的时候,可能会遇到需要解决感知的问题,需要解决决策的问题,需要解决执行的问题。异构的好处就是,在需要解决多种问题的时候,在计算力、效率灵活性、未来可扩展性上是它的价值所在。”

分享中,刘斌还讲述了异构计算出现的三个推动力,一是强计算、高性能计算的需求;二是数据的存取、访问、缓存的需求;三是成本的需求。他表示,异构计算是为解决问题复杂度而催生出的新技术。

异构的计算是解决现在所出现问题的主要结构,可以提供不同的价值,如何构建异构计算系统并提升开发者的生产力是目前的主要挑战,异构的结构下面是不是还存在其他的东西,是需要发展的方向。未来,异构性是长期存在的,怎么样在高阶上实现开发系统的融合,是短期内需要思考的问题。
  查看全部
当人工智能不再遥不可及,用户像“插上电”一样“接入云”,开发者再次迎来新一波的机遇。在云+未来峰会上,腾讯云正式推出“智能云”。而在6月22日的开发者专场上,腾讯发布面向开发者的云实验室,让未来AI技术唾手可得。

同时预告,针对AI领域,即将开源Angel、NCNN等项目,并表示支撑3000多家企业的腾讯高效开发工具TAPD将在腾讯云开放,以及明年初开放支持移动APP开发的持续集成云平台。
 
现场,腾讯云揭秘内测中的CDN边缘计算,可一次部署全球执行,应用在多个场景。同时腾讯云欢迎开发者参与到Serverless的优化中。以上分享进一步满足人工智能、云计算下开发者的需求(即希望使用更敏捷的开发、更敏捷的基础服务等),降低AI使用门槛,加速AI的落地。
 
著名Angular框架推广者大漠穷秋做了开场演讲,分享互联网的四波浪潮,即桌面互联网、移动互联网时代、云计算时代和人工智能时代。并表示,在桌面互联网时代,开发者或者初创企业想去做一件事情很困难,人工智能时代则不一样,开发者依然有发挥空间,这不只是巨头的红利时代,市场需求背后隐藏的未知领域需要各行业共同开拓。


陈子舜:腾讯云实验室发布,未来技术唾手可得

 

腾讯云技术总监陈子舜分享,“我的一个朋友和我分享他的见闻,‘一个优秀云计算工程师有5家企业在争抢,他们的平均薪资比传统IT人员高出40%’。”他表示,这是一个很好的时代,腾讯云希望将自身拥有的大数据、AI等前沿技术,向开发者开放,让未来技术变得唾手可得。

为此,腾讯云正式发布实验室,为开发者提供从学习工具、实验内容到经验分享的闭环服务,开发者可以获得一站式的沉浸式学习环境,使用微信扫码即可免费领取实验机器,直接采用真实的环境作为实验基础。同时,腾讯云还引入社区+实验室的服务模式,让开发者在技术社区提问或分享经验教程,帮助更多开发者解决问题。

按照腾讯云在开发者社区的计划,不仅为开发者提供开发者实验室,还会提供开源技术、开发工具和文档、线下活动、培训和认证等各类服务。


许勇:腾讯开源在路上,工程师热情参与

 

腾讯研发管理部总监许勇揭秘了腾讯开源之路,从腾讯人的角度,解读腾讯开源的技术。目前,腾讯已经开源的项目有RapidJSON、Tinker、WEUI、Mars、MSEC、Libco、GT、Tars、WCDB等,针对AI领域,腾讯还即将开源AI框架Angel、NCNN等项目,以满足高性能机器学习、天天P图及其他不同应用场景的需求。许勇表示,相比于国外成熟的开源社区,腾讯还在追赶阶段,不过,腾讯正被开源的力量唤醒,和开发者一起把中国的开源做得更好。

许勇致力于腾讯内部开源社区建设及外部开源项目管理,他分享到,腾讯内部开源社区提供了从轻量到重度参与开源的各种形式,可以简简单单的分享片段,也可以分享自己的开源项目,以实现更大的技术价值,建立自己的技术影响力。截止2016年,腾讯内部的开源组件达到了1600个以上,目前的日活跃用户数量在3000以上。

同时腾讯云作为腾讯开源的一支重要力量,积极参与开源社区,最近2个月加入3个开源组织,首先在5月加入CNCF基金会和Linux基金会,在容器服务和KVM虚拟化方面贡献自己的力量,同时于6月加入MariaDB基金会。去年腾讯也加入了Alloyteam基金会,腾讯同时也在运营独立开源社区OpenDaylight,在外界有不错的口碑,并汇聚了一群热心的开发者。腾讯也在积极贡献一些开源项目,包括docker,维护Hadoop、patch的提交等等,越来越多的腾讯工程师热情参与到开源中来。


陆莹:开放腾讯2万多人使用的敏捷研发平台TAPD 

 

面对复杂多变、快速迭代的开发环境,腾讯拥有2万多人的研发团队,同时进行3000多个项目,孕育400多个产品的背景下,如何进行高效合作?

腾讯产品专家陆莹的答案是腾讯敏捷研发平台TAPD,20个模块可以灵活应用,可以自由搭配适合自己研发过程的流程,赋予了团队更多的可能。去年6月份TAPD开始提供给腾讯投资的一些公司和腾讯云部分用户使用,到2017年5月,TAPD已经全面开放注册,目前成功支撑3000多家企业进行敏捷研发协作。 

她表示,将和腾讯云一起将TAPD开放给更多致力敏捷研发的伙伴们,“我们将会分享腾讯近十年的研发协作案例和经验,让腾讯云生态上的小伙伴们都能进行敏捷研发,让协作更敏捷。”


魏文强:腾讯将提供持续集成云平台,开放游戏经验



腾讯互娱持续集成平台负责人魏文强从Why、How两个角度带来了持续集成云平台上的一些思考。他表示,现在竞争越来越激烈,特别是游戏行业,经常是你问产品下一步要做什么事情,可能只有一个大概的方向,但具体做什么不知道,所以要求开发迭代越来越快,周期越来越短。

这样会导致什么问题?软件开发不是在最后产品部署阶段才有云上需求,而是贯穿整个生命周期,从软件开发初始阶段就要考虑云怎么部署。在云上提供集成平台服务,是必做的环节。此外,代码托管、持续集成、项目管理、工具链等云平台逐步发展,带来了持续集成平台的需求。

关于如何做,魏文强从突出自己特色、安全和稳定、构建速度以及最佳实践和灵活替换四个角度作了总结。他表示,在2018年初计划提供优先支持移动APP开发,特别是针对手游做特定优化的持续集成云平台,2018年年中对docker和windows进行支持。
 

余子军:揭秘腾讯云CDN边缘计算,解决多个关键问题

 

腾讯CDN技术总监余子军揭秘内测中的腾讯云CDN边缘计算,这是适应大数据、AI时代对网络加速需求而诞生的服务。余子军现场举例说到,腾讯的用户到腾讯的CDN平均距离是170多公里,如果采用光缆,成本非常昂贵的,而采用CDN可以很好地解决这个问题。

腾讯云CDN边缘计算可以在离用户更近的地方进行计算,一次部署全球执行,更快速更安全。还可以应用在多个场景,灵活敏捷低成本地解决关键问题:
•    图片自适应的场景:根据终端类型、网络状态和请求字段等决策编码方案,支持图片缩放、裁剪、水印等。
•    防盗链和权限控制的场景:可灵活控制全部禁止、部分禁止、限速的结果;还可以用在灰度测试中,新版本发布的时候。
•    控制发布进度的场景:灵活决策新版本的用户范围、设置Cookie标记用户和上报访问日志。


周军:腾讯云CAM应用,如何灵活保障用户信息的安全


 
腾讯云产品总监周军从腾讯云CAM应用案例,分享腾讯如何通过对用户认知、权限验证以及日志审计等各个环节的把控,为用户保障信息的安全、无泄漏。

“简单来说,在用户认证访问时,我们通常先问你是谁,问你想干什么。这些东西验证下来就让账户体系变得很复杂,这就是我们常说的鱼和熊掌不可兼得,安全与便捷也是一样的。”周军说,“如果没有安全问题,很多的服务成本可以去掉,不考虑黑客问题,不考虑别人盗用数据问题,安全是负成本的问题,但是要安全就很可能不便捷。”

为了让账户既安全又便捷,腾讯做了几件事情,第一个事情是账户关联,所有账户体系都支持。第二是认证体系里二次验证变得非常灵活,用户可以采用任何一种方式来验证。周军还提到,腾讯云、企业邮箱、企业微信都做到了账户互通,用户可以用一个企业微信账户体系来授权和管理腾讯云的所有东西。


黄文俊: Serverless让开发者抽离繁重运维

 

腾讯云技术专家黄文俊打了一个比方,一个基因数据公司,利用基因数据进行相应的数据分析,需要面对有各种各样的分析函数,不同的执行流程。为了解决这个问题,首先要准备相应的服务器,让用户提交数据,上传数据;每次提交来做相应执行,再用另外一个服务器接受这些任务,处理这些数据;真正处理数据的程序还要进行开发部署,完成了开发部署还要去规划,究竟要用多大的服务器,多少台服务器来准备,后期服务器的运维又将多么复杂,这是每一个开发者需要烦恼的问题。

“我们能否有一个更好的解决方法?把我们从繁重的运维上抽离出来?”黄文俊说,无服务器计算可以很好地解决这个问题,“这是一个很新的概念,无服务器是不是就没有服务器了?是不是真的Serverless了?不,Serverless不是说没有服务器,而是开发人员和运维人员不需要再考虑服务器,不需要再放太多的精力在上面,而是交给云。”

用户只需要上传代码即可以最便捷的方式使用腾讯云高效稳定的全球基础设施,并可实现毫秒级的弹性伸缩,服务成本低廉,代码按需运行,空闲时不收费。经测试,按调用次数和运行时间付费,在每个月请求不足百万时,使用无服务器云函数比使用多台云主机搭建集群的成本减少约70%,适用于云计算和AI时代下需要低门槛进入技术,以及体验佳的要求。

他提到,这里面有两个核心,一个是Function as a Service,以函数的形式委托到云上来,由云来做顶层管理。还有一个就是Backend as a Service,比如说对象存储、数据库、消息队列或者云的缓存。其中Function as a Service的核心就是腾讯云最新推出的产品——Serverless Cloud Function。目前腾讯云的Serverless架构在内测阶段,非常欢迎开发者积极参与到Serverless无服务器的优化当中,共筑最佳运维环境。

英特尔刘斌:FPGA异构计算的价值在计算力、灵活性、未来可扩展性

 

英特尔可编程解决方案事业部亚太区计算业务总经理刘斌带来FPGA异构计算前沿的分享,“我们看到一个问题,今天谈人工智能,特别是谈更多智能化事物的时候,可能会遇到需要解决感知的问题,需要解决决策的问题,需要解决执行的问题。异构的好处就是,在需要解决多种问题的时候,在计算力、效率灵活性、未来可扩展性上是它的价值所在。”

分享中,刘斌还讲述了异构计算出现的三个推动力,一是强计算、高性能计算的需求;二是数据的存取、访问、缓存的需求;三是成本的需求。他表示,异构计算是为解决问题复杂度而催生出的新技术。

异构的计算是解决现在所出现问题的主要结构,可以提供不同的价值,如何构建异构计算系统并提升开发者的生产力是目前的主要挑战,异构的结构下面是不是还存在其他的东西,是需要发展的方向。未来,异构性是长期存在的,怎么样在高阶上实现开发系统的融合,是短期内需要思考的问题。
 

​大数据与商业智能BI的关系密不可分

OT学习平台 发表了文章 • 0 个评论 • 42 次浏览 • 6 天前 • 来自相关话题

大数据应用的数据来源,主要是包括非机构化的数据、各种系统数据、数据库数据等。而BI大数据应用则是在数据集成方面的技术更加成熟,对于数据的提取和挖掘方面的要求来说,数据集成平台会帮助企业实现数据的流通和交互使用,而企业内部部署BI应用就是为了更好的分享和使用数据。






大数据对于传统BI,既有继承,也有发展;BI与大数据区别在于前者更倾向于决策,对事实描述更多是基于群体共性,帮助决策者掌握宏观统计趋势,适合经营运营指标支撑类问题,大数据则内涵更广,倾向于刻画个体,更多的在于个性化的决策。
BI的发展要从传统的商务智能模式开始转换,对于企业来说,BI不仅仅是一个IT项目,更是一种管理和思维的方式,从技术的部署到业务的流程规划,BI迎来新的发展。对于大数据来说,现阶段更多的大数据关注在非结构化数据,不同的数据分析工具的出现和行内的应用范围不断的加大,对于大数据应用来说,怎么与应用的行业进行一个深层次的结合才是最重要的。

更多关于大数据的知识请关注OTPUB《大数据论坛》
OTpub,专业的IT学习直播平台:www.otpub.com
  查看全部
大数据应用的数据来源,主要是包括非机构化的数据、各种系统数据、数据库数据等。而BI大数据应用则是在数据集成方面的技术更加成熟,对于数据的提取和挖掘方面的要求来说,数据集成平台会帮助企业实现数据的流通和交互使用,而企业内部部署BI应用就是为了更好的分享和使用数据。

大数据与商业智能BI的关系密不可分.jpg


大数据对于传统BI,既有继承,也有发展;BI与大数据区别在于前者更倾向于决策,对事实描述更多是基于群体共性,帮助决策者掌握宏观统计趋势,适合经营运营指标支撑类问题,大数据则内涵更广,倾向于刻画个体,更多的在于个性化的决策。
BI的发展要从传统的商务智能模式开始转换,对于企业来说,BI不仅仅是一个IT项目,更是一种管理和思维的方式,从技术的部署到业务的流程规划,BI迎来新的发展。对于大数据来说,现阶段更多的大数据关注在非结构化数据,不同的数据分析工具的出现和行内的应用范围不断的加大,对于大数据应用来说,怎么与应用的行业进行一个深层次的结合才是最重要的。

更多关于大数据的知识请关注OTPUB《大数据论坛
OTpub,专业的IT学习直播平台:www.otpub.com
 

Centos7下使用Yum安装Zabbix2.4

Geek小A 发表了文章 • 0 个评论 • 51 次浏览 • 2017-06-17 18:09 • 来自相关话题

一、Zabbix简介

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
 

二、Zabbix安装

本文档在同一台机器上安装了zabbix-server 和zabbix-agent 自己监控自己。
 
 
1、配置LAMP
 
这个可以参考之前的文章:http://openskill.cn/article/578 
 
2、配置Yum源
Zabbix在CentOS基本源里不可获得,因此必须配置EPEL 和Zabbix 官方repository

安装EPEL repository
yum install epel-release配置ZabbixZone package repository and GPG key
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uv http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm3、安装Zabbix server and agent(agent是可选的)
安装Zabbix server and agent:(配置自己监控自己,所以安装了zabbix-agent)
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway编辑 file /etc/httpd/conf.d/zabbix:
vi /etc/httpd/conf.d/zabbix.conf更新时区:
php_value date.timezone Asia/Shanghai重启httpd
systemctl restart httpd
4、创建MySQL 数据库和用户
 
登录MariaDB:
mysql –u root –p创建一个数据库‘zabbixdb’和数据库用户‘zabbix’
MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';

MariaDB [(none)]> flush privileges;
 5、数据库导入zabbix template
使用数据库用户zabbix登录数据库
mysql –uzabbix –p切换到zabbix数据库
use zabbix导入模板数据
MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/schema.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/images.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/data.sql
 6、配置Zabbix server
编辑文件/etc/zabbix/zabbix_server.conf
vi /etc/zabbix/zabbix_server.conf配置下面的三个参数
[...]
DBName=zabbix
[...]
DBUser=zabbix
[...]
DBPassword=zabbix
[...]
 7、配置zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf配置zabbix server 的ip
[...]

## Line 85 - Specify Zabbix server ##

Server=127.0.0.1

[...]

## Line 126 - Specify Zabbix server ##

ServerActive=127.0.0.1

[...]

## Line 137 - Specify Zabbix server Hostname or IP address ##

Hostname=127.0.0.1

[...]
8、修改PHP 设置
 
修改php.ini为zabbix 建议的设置

编辑文件 php.ini
vi /etc/php.ini设置下面的参数
max_execution_time = 600
max_input_time = 600
memory_limit = 256
Mpost_max_size = 32M
upload_max_filesize = 16M
date.timezone = Asia/Shanghai
9、修改Firewall 和SELinux 设置
 
开放zabbix端口10050 and 10051.
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp重启firewall
systemctl restart firewalld如果使用 SELinux, 运行以下命令使 Apache 可以和 Zabbix通信
setsebool -P httpd_can_connect_zabbix=1
 10、允许Zabbix web console 对特定IP段可用 (可选)
编辑文件 /etc/httpd/conf.d/zabbix.conf
vi /etc/httpd/conf.d/zabbix.conf添加允许访问 zabbix web interface的ip段. 如果设置 ‘Allow from All’, 这可以允许全部可以访问
#
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted

<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
</IfModule>
</Directory>

<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>

<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>启动zabbix-server 和zabbix-agent。重启httpd,,并设置zabbix-server和zabbix-agent开机自动启动
systemctl start zabbix-server

systemctl start zabbix-agent

systemctl restart httpd

systemctl restart mariadb

systemctl enable zabbix-server

systemctl enable zabbix-agent ---- (可选)
11、通过控制台配置Zabbix
 
浏览器访问http://ip-address/zabbix



检查包的完整性和参数配置




数据zabbix数据库名、数据库用户和密码,并测试




输入Server name(可选)




预安装summary




点击完成,完成安装




安装完成后,重定向到zabbix控制台登录页面. 输入用户名和密码,默认的用户名和密码为admin/zabbix.




管理仪表盘页面如下




英文原文地址:http://www.unixmen.com/how-to-install-zabbix-server-on-centos-7/​   查看全部


一、Zabbix简介


zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
 


二、Zabbix安装


本文档在同一台机器上安装了zabbix-server 和zabbix-agent 自己监控自己。
 
 
1、配置LAMP
 
这个可以参考之前的文章:http://openskill.cn/article/578 
 
2、配置Yum源
Zabbix在CentOS基本源里不可获得,因此必须配置EPEL 和Zabbix 官方repository

安装EPEL repository
yum install epel-release
配置ZabbixZone package repository and GPG key
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uv http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
3、安装Zabbix server and agent(agent是可选的)
安装Zabbix server and agent:(配置自己监控自己,所以安装了zabbix-agent)
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway
编辑 file /etc/httpd/conf.d/zabbix:
vi /etc/httpd/conf.d/zabbix.conf
更新时区:
php_value date.timezone Asia/Shanghai
重启httpd
systemctl restart httpd

4、创建MySQL 数据库和用户
 
登录MariaDB:
mysql –u root –p
创建一个数据库‘zabbixdb’和数据库用户‘zabbix’
MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';

MariaDB [(none)]> flush privileges;

 5、数据库导入zabbix template
使用数据库用户zabbix登录数据库
mysql –uzabbix –p
切换到zabbix数据库
use zabbix
导入模板数据
MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/schema.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/images.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.7/create/data.sql

 6、配置Zabbix server
编辑文件/etc/zabbix/zabbix_server.conf
vi /etc/zabbix/zabbix_server.conf
配置下面的三个参数
[...]
DBName=zabbix
[...]
DBUser=zabbix
[...]
DBPassword=zabbix
[...]

 7、配置zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
配置zabbix server 的ip
[...]

## Line 85 - Specify Zabbix server ##

Server=127.0.0.1

[...]

## Line 126 - Specify Zabbix server ##

ServerActive=127.0.0.1

[...]

## Line 137 - Specify Zabbix server Hostname or IP address ##

Hostname=127.0.0.1

[...]

8、修改PHP 设置
 
修改php.ini为zabbix 建议的设置

编辑文件 php.ini
vi /etc/php.ini
设置下面的参数
max_execution_time = 600
max_input_time = 600
memory_limit = 256
Mpost_max_size = 32M
upload_max_filesize = 16M
date.timezone = Asia/Shanghai

9、修改Firewall 和SELinux 设置
 
开放zabbix端口10050 and 10051.
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
重启firewall
systemctl restart firewalld
如果使用 SELinux, 运行以下命令使 Apache 可以和 Zabbix通信
setsebool -P httpd_can_connect_zabbix=1

 10、允许Zabbix web console 对特定IP段可用 (可选)
编辑文件 /etc/httpd/conf.d/zabbix.conf
vi /etc/httpd/conf.d/zabbix.conf
添加允许访问 zabbix web interface的ip段. 如果设置 ‘Allow from All’, 这可以允许全部可以访问
#
# Zabbix monitoring system php web frontend
#

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted

<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
</IfModule>
</Directory>

<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>

<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>
启动zabbix-server 和zabbix-agent。重启httpd,,并设置zabbix-server和zabbix-agent开机自动启动
systemctl start zabbix-server

systemctl start zabbix-agent

systemctl restart httpd

systemctl restart mariadb

systemctl enable zabbix-server

systemctl enable zabbix-agent ---- (可选)

11、通过控制台配置Zabbix
 
浏览器访问http://ip-address/zabbix
zabbix1.png
检查包的完整性和参数配置
zabbix2.png

数据zabbix数据库名、数据库用户和密码,并测试
zabbix3.png

输入Server name(可选)
zabbix4.png

预安装summary
zabbix5.png

点击完成,完成安装
zabbix6.png

安装完成后,重定向到zabbix控制台登录页面. 输入用户名和密码,默认的用户名和密码为admin/zabbix.
zabbix7.png

管理仪表盘页面如下
zabbix8.png

英文原文地址:http://www.unixmen.com/how-to-install-zabbix-server-on-centos-7/​  

Centos7下配置LAMP过程记录

Geek小A 发表了文章 • 0 个评论 • 50 次浏览 • 2017-06-17 00:45 • 来自相关话题

LAMP指的Linux(操作系统)、Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台。所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
 
下面讨论如何在RHEL/CentOS/Scientific Linux 7上搭建LAMP环境.

一、Install Apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

在终端以root权限运行以下命令:yum install httpd -y启动Apachesystemctl start httpd设置开机启动systemctl enable httpdfirewall设置允许远程登录:firewall-cmd --permanent --add-service=http

systemctl restart firewalld测试Apache

浏览器访问 http://localhost/ or http://server-ip-address/





二、Install MariaDB

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
 
安装MariaDB:yum install mariadb-server mariadb -y启动MariaDBsystemctl start mariadb设置开机启动systemctl enable mariadb设置root密码
默认情况下,root密码为空。为防止未授权的访问,我们设置root密码mysql_secure_installation

三、Install PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言,主要适用于Web开发领域。

使用以下的命令安装phpyum install php php-mysql php-gd php-pear -y测试PHP:
在Apache文档根目录创建“testphp.php”vi /var/www/html/testphp.php编辑内容如下<?php
phpinfo();
?>重启 httpd 服务:systemctl restart httpd浏览器访问 http://server-ip-address/testphp.php. 将会显示php的版本信息.




也可以使用如下命令安装所有php modules,重启httpd服务,查看http://server-ip-address/testphp.php  ,可以看到所有安装的modulesyum install php* -y

四、Install phpMyAdmin (可选)

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

添加 EPEL repository   参照(Install EPEL Repository on RHEL/CentOS/Scientific Linux 7)yum install epel-release安装 phpMyAdmin:yum install phpmyadmin -y配置phpMyAdmin

默认,phpMyAdmin只能由本机访问。为了能够远程访问,编辑phpmyadmin.conf file:vi /etc/httpd/conf.d/phpMyAdmin.conf查找/<Directory> ,注释掉或删除如下内容<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>添加<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>编辑“config.inc.php” 改变phpMyAdmin的authentication,修改“cookie” 为 “http”vi /etc/phpMyAdmin/config.inc.phpChange ‘cookie’ to ‘http’.




重启the Apache service:systemctl restart httpd访问 phpmyadmin 的控制台 http://server-ip-address/phpmyadmin/




输入MySQL username and password,将重定向到PhpMyAdmin main web interface.




现在你可以通过phpMyAdmin web interface 管理你的MariaDB数据库了。 查看全部
LAMP指的Linux(操作系统)、Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台。所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
 
下面讨论如何在RHEL/CentOS/Scientific Linux 7上搭建LAMP环境.


一、Install Apache


Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

在终端以root权限运行以下命令:
yum install httpd -y
启动Apache
systemctl start httpd
设置开机启动
systemctl enable httpd
firewall设置允许远程登录:
firewall-cmd --permanent --add-service=http

systemctl restart firewalld
测试Apache

浏览器访问 http://localhost/ or http://server-ip-address/
apachetesting.png


二、Install MariaDB


MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
 
安装MariaDB:
yum install mariadb-server mariadb -y
启动MariaDB
systemctl start mariadb
设置开机启动
systemctl enable mariadb
设置root密码
默认情况下,root密码为空。为防止未授权的访问,我们设置root密码
mysql_secure_installation


三、Install PHP


PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言,主要适用于Web开发领域。

使用以下的命令安装php
yum install php php-mysql php-gd php-pear -y
测试PHP:
在Apache文档根目录创建“testphp.php”
vi /var/www/html/testphp.php
编辑内容如下
<?php 
phpinfo();
?>
重启 httpd 服务:
systemctl restart httpd
浏览器访问 http://server-ip-address/testphp.php. 将会显示php的版本信息.
phpinfo.png

也可以使用如下命令安装所有php modules,重启httpd服务,查看http://server-ip-address/testphp.php  ,可以看到所有安装的modules
yum install php* -y


四、Install phpMyAdmin (可选)


phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

添加 EPEL repository   参照(Install EPEL Repository on RHEL/CentOS/Scientific Linux 7)
yum install epel-release
安装 phpMyAdmin:
yum install phpmyadmin -y
配置phpMyAdmin

默认,phpMyAdmin只能由本机访问。为了能够远程访问,编辑phpmyadmin.conf file:
vi /etc/httpd/conf.d/phpMyAdmin.conf
查找/<Directory> ,注释掉或删除如下内容
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
添加
<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>
编辑“config.inc.php” 改变phpMyAdmin的authentication,修改“cookie” 为 “http”
vi /etc/phpMyAdmin/config.inc.php
Change ‘cookie’ to ‘http’.
cookie.png

重启the Apache service:
systemctl restart httpd
访问 phpmyadmin 的控制台 http://server-ip-address/phpmyadmin/
phpmyadmin.png

输入MySQL username and password,将重定向到PhpMyAdmin main web interface.
madmin.png

现在你可以通过phpMyAdmin web interface 管理你的MariaDB数据库了。

腾讯云正式成为MariaDB基金会白金会员

图灵之歌 发表了文章 • 0 个评论 • 58 次浏览 • 2017-06-16 16:35 • 来自相关话题

6月16日,全球开源组织MariaDB基金会宣布,腾讯云正式成为MariaDB基金会白金会员,这是基金会最高级别会员。这也是腾讯云继上个月加入CNCF基金会和Linux基金会后,在开源界的又一项新动作,意味腾讯云在开源领域的步伐正在不断深入,从IaaS的开源进入到PaaS的开源。
 


腾讯云将输出腾讯在MariaDB数据库上的经验和技术。腾讯云专家工程师程彬加入基金会成员组,成为全球仅有的7位官方成员之一。程彬负责腾讯云数据库CDB以及内核TXSQL的研发,专注于数据库和分布式存储领域相关技术和产品。他将代表腾讯云的数据库团队参加基金会每周的技术会议,提供MariaDB数据库的意见和建议,并在内部推动腾讯云MariaDB的开源进程,推动MariaDB在中国的开源工作。  
 
MariaDB基金会主席高度评价腾讯云
 
MariaDB基金会主席 Otto Kekäläinen表示:“MariaDB是未来的IT基础设施的一个基本组成部分,腾讯云在这个领域不断的思考和布局,具备锐意开创未来的主宰领导力。”他同时指出,强大的开源文化生长在中国以及亚洲,基金会的目标是将来在亚洲发起更多的活动。我们下一个MariaDB 开发者大会将在中国深圳举行。
 
MariaDB基金会官方同时评价,腾讯云的加入为基金会的发展提供强有力的资源支持,保障MariaDB开源生态的良好运转,为不断成长的用户和开发者提供服务。
 
MariaDB是由MySQL之父Michael Widenius于2009年开创的一个MySQL分支,在MySQL被商业企业收购后,为保证行业仍有开源可用的兼容MySQL的分支可用,Michael Widenius在创立了 MariaDB的同时,还成立了非赢利组织 MariaDB 基金会为MariaDB 项目、用户和开发者社区提供基础架构支持。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了商用的MySQL版本,在开源数据库领域拥有较强的技术影响力。
 
腾讯云将重点开源MariaDB内核积累
 
在腾讯内部,一直有一个数据库内核团队,在MySQL和MariaDB基础上之上做出改进优化,重点排出一些平时难以触发的bug,并在此基础上打造出了腾讯云的数据库产品。
 
在参与MySQL和MariaDB优化的过程中,腾讯云完成了主备节点锁拆分、动态调整各种级别复制参数,以及binlog写优化等;发现并解决了刷脏死锁引起的 innodb 600S crash 问题、memory barrier 引起的 hang 问题以及字符串问题等影响数据库稳定的问题。
 
未来,腾讯云还将投入更多精力到内核研发上,并会合并之前的一些内部稳定使用功能发布开源版本,尤其是适合云环境的功能的开源版本,为开源组织贡献自己的一份力量。
 
腾讯云深度拥抱全球开源生态圈
 
近年来,腾讯云大力拥抱开源事业。今年5月,腾讯云以金牌会员的身份正式加入CNCF基金会,为CNCF开源社区开放自身的Kubernetes相关特性,释放自身在容器服务、KVM虚拟化等方面的优势积累。同时基于腾讯云在Linux领域的积极贡献,腾讯云获CNCF基金会邀请加入Linux基金会。
 
此次腾讯云加入MariaDB基金会,将在数据库内核研发和功能开发方面开放助力开源,与国际的数据库专家团体建立更密切的联系,推动开放更多的技术开源。
 
未来腾讯云继续加大在开源领域的步伐,深度拥抱全球开源生态圈,从产品出发,基于大量用户在产品使用的感受和腾讯云的服务实践,将有价值的特性反馈给社区,与社区一起完善相关特性,同时从社区获得广泛的用户反馈,再次回到产品,提升腾讯云的产品体验。
 
 
延伸阅读:
腾讯云加入MariaDB基金会的官方消息:
https://mariadb.org/tencent-cloud-becomes-platinum-sponsor-mariadb-foundation/ 查看全部
6月16日,全球开源组织MariaDB基金会宣布,腾讯云正式成为MariaDB基金会白金会员,这是基金会最高级别会员。这也是腾讯云继上个月加入CNCF基金会和Linux基金会后,在开源界的又一项新动作,意味腾讯云在开源领域的步伐正在不断深入,从IaaS的开源进入到PaaS的开源。
 


腾讯云将输出腾讯在MariaDB数据库上的经验和技术。腾讯云专家工程师程彬加入基金会成员组,成为全球仅有的7位官方成员之一。程彬负责腾讯云数据库CDB以及内核TXSQL的研发,专注于数据库和分布式存储领域相关技术和产品。他将代表腾讯云的数据库团队参加基金会每周的技术会议,提供MariaDB数据库的意见和建议,并在内部推动腾讯云MariaDB的开源进程,推动MariaDB在中国的开源工作。  
 
MariaDB基金会主席高度评价腾讯云
 
MariaDB基金会主席 Otto Kekäläinen表示:“MariaDB是未来的IT基础设施的一个基本组成部分,腾讯云在这个领域不断的思考和布局,具备锐意开创未来的主宰领导力。”他同时指出,强大的开源文化生长在中国以及亚洲,基金会的目标是将来在亚洲发起更多的活动。我们下一个MariaDB 开发者大会将在中国深圳举行。
 
MariaDB基金会官方同时评价,腾讯云的加入为基金会的发展提供强有力的资源支持,保障MariaDB开源生态的良好运转,为不断成长的用户和开发者提供服务。
 
MariaDB是由MySQL之父Michael Widenius于2009年开创的一个MySQL分支,在MySQL被商业企业收购后,为保证行业仍有开源可用的兼容MySQL的分支可用,Michael Widenius在创立了 MariaDB的同时,还成立了非赢利组织 MariaDB 基金会为MariaDB 项目、用户和开发者社区提供基础架构支持。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了商用的MySQL版本,在开源数据库领域拥有较强的技术影响力。
 
腾讯云将重点开源MariaDB内核积累
 
在腾讯内部,一直有一个数据库内核团队,在MySQL和MariaDB基础上之上做出改进优化,重点排出一些平时难以触发的bug,并在此基础上打造出了腾讯云的数据库产品。
 
在参与MySQL和MariaDB优化的过程中,腾讯云完成了主备节点锁拆分、动态调整各种级别复制参数,以及binlog写优化等;发现并解决了刷脏死锁引起的 innodb 600S crash 问题、memory barrier 引起的 hang 问题以及字符串问题等影响数据库稳定的问题。
 
未来,腾讯云还将投入更多精力到内核研发上,并会合并之前的一些内部稳定使用功能发布开源版本,尤其是适合云环境的功能的开源版本,为开源组织贡献自己的一份力量。
 
腾讯云深度拥抱全球开源生态圈
 
近年来,腾讯云大力拥抱开源事业。今年5月,腾讯云以金牌会员的身份正式加入CNCF基金会,为CNCF开源社区开放自身的Kubernetes相关特性,释放自身在容器服务、KVM虚拟化等方面的优势积累。同时基于腾讯云在Linux领域的积极贡献,腾讯云获CNCF基金会邀请加入Linux基金会。
 
此次腾讯云加入MariaDB基金会,将在数据库内核研发和功能开发方面开放助力开源,与国际的数据库专家团体建立更密切的联系,推动开放更多的技术开源。
 
未来腾讯云继续加大在开源领域的步伐,深度拥抱全球开源生态圈,从产品出发,基于大量用户在产品使用的感受和腾讯云的服务实践,将有价值的特性反馈给社区,与社区一起完善相关特性,同时从社区获得广泛的用户反馈,再次回到产品,提升腾讯云的产品体验。
 
 
延伸阅读:
腾讯云加入MariaDB基金会的官方消息:
https://mariadb.org/tencent-cloud-becomes-platinum-sponsor-mariadb-foundation/

Centos6下安装PHP7和Nginx

Geek小A 发表了文章 • 0 个评论 • 62 次浏览 • 2017-06-15 22:29 • 来自相关话题

一、安装PHP

PHP源码包下载地址:
# wget http://cn2.php.net/distributions/php-5.6.22.tar.bz2
# wget http://cn2.php.net/distributions/php-7.0.7.tar.bz2
更新yum源
这里将Centos的yum源更换为国内的阿里云源。yum安装正常的可以跳过本步骤, 阿里云Linux安装镜像源地址: http://mirrors.aliyun.com/  
 
1、备份你的原镜像文件,以免出错后可以恢复:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ 
# CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

# CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、生成缓存
yum clean all
yum makecache
安装依赖yum install -y gcc gcc-c++ make cmake bison autoconf wget lrzsz
yum install -y libtool libtool-ltdl-devel
yum install -y freetype-devel libjpeg.x86_64 libjpeg-devel libpng-devel gd-devel
yum install -y python-devel patch sudo
yum install -y openssl* openssl openssl-devel ncurses-devel
yum install -y bzip* bzip2 unzip zlib-devel
yum install -y libevent*
yum install -y libxml* libxml2-devel
yum install -y libcurl* curl-devel
yum install -y readline-devel需要编译libmcrypt、mhash、mcrypt库
tar zxvf /libmcrypt-2.5.8.tar.gz \
&& cd /libmcrypt-2.5.8 && ./configure && make && make install && cd - / && rm -rf /libmcrypt* \
&& tar zxvf /mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9 && ./configure && make && make install && cd - / && rm -rf /mhash* \
&& tar zxvf /mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8 && LD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install && cd - / && rm -rf /mcrypt*
开始安装
使用./configure --help查看编译支持的选项。如果写了不支持的选项,如php7里不支持--with-mysql=mysqlnd会提示:
configure: WARNING: unrecognized options: --with-mysqlwget http://cn2.php.net/distributions/php-7.0.7.tar.bz2
tar jxvf php-7.0.7.tar.bz2
cd php-7.0.7

$ ./configure --prefix=/usr/local/php --with-config-file-scan-dir=/usr/local/php/etc/ --enable-inline-optimization --enable-opcache --enable-session --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-sqlite3 --with-gettext --enable-mbregex --enable-mbstring --enable-xml --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-xmlrpc --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-curlwrappers --with-zlib --enable-zip --with-bz2 --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-readline

$ make
$ make install 可选项:
--with-fpm-user=www --with-fpm-group=www这里面开启了很多扩展。如果这时候忘了开启,以后还能加上吗?答案是可以的。以后只需要进入源码的ext目录,例如忘了pdo_mysql,进入ext/pdo_mysql,使用phpize工具,像安装普通扩展一样即可生成pdo_mysql.so。

关于:--enable-safe-mode
开启的话php可以执行一下系统函数,建议关闭(可搜索受此函数影响的php函数)
#如果只需要配置某一个目录可以执行则 设置为on并指定 safe_mode_exec_dir=string目录来执行系统函数。
#本特性已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。
safe_mode = offphp7编译不用加这个配置。

编译比较耗内存和CPU。等待半小时左右,编译完成:
Build complete.
Don't forget to run 'make test'.

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/php/man/man1/
Installing PHP FPM binary: /usr/local/php/sbin/
Installing PHP FPM config: /usr/local/php/etc/
Installing PHP FPM man page: /usr/local/php/php/man/man8/
Installing PHP FPM status page: /usr/local/php/php/php/fpm/
Installing phpdbg binary: /usr/local/php/bin/
Installing phpdbg man page: /usr/local/php/php/man/man1/
Installing PHP CGI binary: /usr/local/php/bin/
Installing PHP CGI man page: /usr/local/php/php/man/man1/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.3.0
[PEAR] PEAR - installed: 1.10.1
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/php-7.0.7/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/

[root@e8ed9b00e80c php-7.0.7]# /usr/local/php/bin/php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
fileinfo
filter
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib

[Zend Modules]
配置文件
需要从安装包里复制php.ini、php-fpm.conf到安装目录:$ cp php-7.0.7/php.ini* /usr/local/php/etc/

$ cd /usr/local/php/etc/

$ cp php.ini-production php.ini
$ cp php-fpm.conf.default php-fpm.conf

$ cp php-fpm.d/www.conf.default php-fpm.d/www.conf

$ ls
pear.conf php-fpm.conf.default php.ini-development php.ini-production
 配置php.ini
# 不显示错误,默认
display_errors = Off

# 在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置),默认
log_errors = On

# 字符集,默认
default_charset = "UTF-8"

# 文件上传大小,默认
upload_max_filesize = 2M

# 设置PHP的扩展库路径,,默认被注释了。
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
# 如果不设置extension_dir,也可以直接写绝对位置:
# extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so


# 设置PHP的时区
date.timezone = PRC

# 开启opcache,默认是0
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
配置php-fpm.conf​
; 去掉里分号,方便以后重启。建议修改
; Default Value: none
; 下面的值最终目录是/usr/local/php/var/run/php-fpm.pid
; 开启后可以平滑重启php-fpm
pid = run/php-fpm.pid

; 设置错误日志的路径,可以默认值
; Note: the default prefix is /usr/local/php/var
; Default Value: log/php-fpm.log, 即/usr/local/php/var/log/php-fpm.log
error_log = /var/log/php-fpm/error.log

; Log等级,可以默认值
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
log_level = notice

; 后台运行,默认yes,可以默认值
; Default Value: yes
;daemonize = yes

; 引入www.conf文件中的配置,可以默认值
include=/usr/local/php/etc/php-fpm.d/*.conf
配置www.conf(在php-fpm.d目录下)
www.conf这是php-fpm进程服务的扩展配置文件:
; 设置用户和用户组,默认都是nobody。可以默认值
user = nginx
group = nginx

; 设置PHP监听
; 下面是默认值,不建议使用。可以默认值
; listen = 127.0.0.1:9000
; 根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
listen = /var/run/php-fpm/php-fpm.sock

######开启慢日志。可以默认值
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s保存配置文件后,检验配置是否正确的方法为:/usr/local/php/sbin/php-fpm -t如果出现诸如 test is successful 字样,说明配置没有问题。另外该命令也可以让我们知道php-fpm的配置文件在哪。
 
建立软连接:
ln -sf /usr/local/php/sbin/php-fpm /usr/bin/
ln -sf /usr/local/php/bin/php /usr/bin/
ln -sf /usr/local/php/bin/phpize /usr/bin/
ln -sf /usr/local/php/bin/php-config /usr/bin/
ln -sf /usr/local/php/bin/php-cig /usr/bin/或者将php编译生成的bin目录添加到当前Linux系统的环境变量中:echo -e '\nexport PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH\n' >> /etc/profile && source /etc/profile
启动php-fpm
/usr/local/php/sbin/php-fpm 如果提示没有www用户(www.conf里填写了www而不是nobody),则新增:useradd www
chown -R www:www /www检测是否启动:ps aux |grep php-fpm # 另外该命令也可以让我们知道fpm的配置文件在哪。
netstat -ant |grep 9000查看php-fpm进程数:
ps aux | grep -c php-fpmphp-fpm操作汇总:/usr/local/php/sbin/php-fpm # php-fpm启动
kill -INT `cat /usr/local/php/var/run/php-fpm.pid` # php-fpm关闭
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #php-fpm重启重启方法二:
killall php-fpm
/usr/local/php/sbin/php-fpm &如果无法平滑启动,那就终止进程id:
ps aux | grep php-fpm
kill -9 1210 #1210指php-fpm进程id

二、安装Nginx

安装包下载地址: http://nginx.org/download/nginx-1.11.1.tar.gz 
 
依赖:
# 为了支持rewrite功能,我们需要安装pcre
yum install pcre-devel

# 需要ssl的支持,如果不需要ssl支持,请跳过这一步
# yum install openssl*

# gzip 类库安装,按需安装
# yum install zlib zlib-devel配置编译参数$ tar -zxvf nginx-1.11.1.tar.gz
$ cd nginx-1.11.1
$ ./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-pcre配置ok:
Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ md5: using OpenSSL library
+ sha1: using OpenSSL library
+ using system zlib library

nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"编译安装nginx
make
make install设置软连接:ln -sf /usr/local/nginx/sbin/nginx /usr/sbin 检测nginx:nginx -t显示:nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

成功了。我们重新配置下nginx.conf:
#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

# 解决虚拟主机名字过长 http://www.jb51.net/article/26412.htm
server_names_hash_bucket_size 128;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间

include vhosts/*.conf;

}配置localhost:
vim ./vhosts/localhost.conf
server {
listen 80;
server_name localhost;

#charset utf-8;

#access_log logs/host.access.log main;

location / {
root /www/www/;
index index.php index.html index.htm;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /www/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}启动nginx:/usr/local/nginx/sbin/nginx

# 或者
nginx重启:/usr/local/nginx/sbin/nginx -s reload

# 或者
nginx -s reload停止:
/usr/local/nginx/sbin/nginx -s stop

# 或者
nginx -s stop如果提示80端口被占用了,可以使用ps aunx | grep 80查看。一般是apache占用了。可以使用:chkconfig --list
chkconfig nginx on
service apache off禁止apache启动并关闭apache服务。


三、安装扩展

1、安装swoole
Swoole: PHP的异步、并行、高性能网络通信引擎:http://www.swoole.com/  
wget https://github.com/swoole/swoole-src/archive/swoole-1.8.5-stable.zip
unzip swoole-1.8.5-stable.zip
cd swoole-1.8.5-stable
phpize
./configure
make && make install
2、安装redis
wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
tar -zxvf 2.2.4
cd phpredis-2.2.4/
phpize
./configure
make && make install

四、信号管理

不重载配置启动新/旧工作进程kill -HUP 旧/新版主进程号从容关闭旧/新进程kill -QUIT 旧/新主进程号如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:kill -TERM 旧/新工作进程号升级、添加或删除模块时,我们需要停掉服务器kill -USR2 旧版程序的主进程号或进程文件名 查看全部


一、安装PHP


PHP源码包下载地址:
# wget http://cn2.php.net/distributions/php-5.6.22.tar.bz2
# wget http://cn2.php.net/distributions/php-7.0.7.tar.bz2

更新yum源
这里将Centos的yum源更换为国内的阿里云源。yum安装正常的可以跳过本步骤, 阿里云Linux安装镜像源地址: http://mirrors.aliyun.com/  
 
1、备份你的原镜像文件,以免出错后可以恢复:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ 
# CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

# CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、生成缓存
yum clean all
yum makecache

安装依赖
yum install -y gcc gcc-c++ make cmake bison autoconf wget lrzsz
yum install -y libtool libtool-ltdl-devel
yum install -y freetype-devel libjpeg.x86_64 libjpeg-devel libpng-devel gd-devel
yum install -y python-devel patch sudo
yum install -y openssl* openssl openssl-devel ncurses-devel
yum install -y bzip* bzip2 unzip zlib-devel
yum install -y libevent*
yum install -y libxml* libxml2-devel
yum install -y libcurl* curl-devel
yum install -y readline-devel
需要编译libmcrypt、mhash、mcrypt库
tar zxvf /libmcrypt-2.5.8.tar.gz \
&& cd /libmcrypt-2.5.8 && ./configure && make && make install && cd - / && rm -rf /libmcrypt* \
&& tar zxvf /mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9 && ./configure && make && make install && cd - / && rm -rf /mhash* \
&& tar zxvf /mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8 && LD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install && cd - / && rm -rf /mcrypt*

开始安装
使用./configure --help查看编译支持的选项。如果写了不支持的选项,如php7里不支持--with-mysql=mysqlnd会提示:
configure: WARNING: unrecognized options: --with-mysql
wget http://cn2.php.net/distributions/php-7.0.7.tar.bz2
tar jxvf php-7.0.7.tar.bz2
cd php-7.0.7

$ ./configure --prefix=/usr/local/php --with-config-file-scan-dir=/usr/local/php/etc/ --enable-inline-optimization --enable-opcache --enable-session --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-sqlite3 --with-gettext --enable-mbregex --enable-mbstring --enable-xml --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-xmlrpc --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-curlwrappers --with-zlib --enable-zip --with-bz2 --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-readline

$ make
$ make install
可选项:
--with-fpm-user=www --with-fpm-group=www
这里面开启了很多扩展。如果这时候忘了开启,以后还能加上吗?答案是可以的。以后只需要进入源码的ext目录,例如忘了pdo_mysql,进入ext/pdo_mysql,使用phpize工具,像安装普通扩展一样即可生成pdo_mysql.so。

关于:--enable-safe-mode
开启的话php可以执行一下系统函数,建议关闭(可搜索受此函数影响的php函数)
#如果只需要配置某一个目录可以执行则 设置为on并指定 safe_mode_exec_dir=string目录来执行系统函数。
#本特性已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。
safe_mode = off
php7编译不用加这个配置。

编译比较耗内存和CPU。等待半小时左右,编译完成:
Build complete.
Don't forget to run 'make test'.

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/php/man/man1/
Installing PHP FPM binary: /usr/local/php/sbin/
Installing PHP FPM config: /usr/local/php/etc/
Installing PHP FPM man page: /usr/local/php/php/man/man8/
Installing PHP FPM status page: /usr/local/php/php/php/fpm/
Installing phpdbg binary: /usr/local/php/bin/
Installing phpdbg man page: /usr/local/php/php/man/man1/
Installing PHP CGI binary: /usr/local/php/bin/
Installing PHP CGI man page: /usr/local/php/php/man/man1/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.3.0
[PEAR] PEAR - installed: 1.10.1
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/php-7.0.7/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/

[root@e8ed9b00e80c php-7.0.7]# /usr/local/php/bin/php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
fileinfo
filter
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib

[Zend Modules]

配置文件
需要从安装包里复制php.ini、php-fpm.conf到安装目录:
$ cp php-7.0.7/php.ini* /usr/local/php/etc/

$ cd /usr/local/php/etc/

$ cp php.ini-production php.ini
$ cp php-fpm.conf.default php-fpm.conf

$ cp php-fpm.d/www.conf.default php-fpm.d/www.conf

$ ls
pear.conf php-fpm.conf.default php.ini-development php.ini-production

 配置php.ini
# 不显示错误,默认
display_errors = Off

# 在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置),默认
log_errors = On

# 字符集,默认
default_charset = "UTF-8"

# 文件上传大小,默认
upload_max_filesize = 2M

# 设置PHP的扩展库路径,,默认被注释了。
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
# 如果不设置extension_dir,也可以直接写绝对位置:
# extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so


# 设置PHP的时区
date.timezone = PRC

# 开启opcache,默认是0
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

配置php-fpm.conf​
; 去掉里分号,方便以后重启。建议修改
; Default Value: none
; 下面的值最终目录是/usr/local/php/var/run/php-fpm.pid
; 开启后可以平滑重启php-fpm
pid = run/php-fpm.pid

; 设置错误日志的路径,可以默认值
; Note: the default prefix is /usr/local/php/var
; Default Value: log/php-fpm.log, 即/usr/local/php/var/log/php-fpm.log
error_log = /var/log/php-fpm/error.log

; Log等级,可以默认值
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
log_level = notice

; 后台运行,默认yes,可以默认值
; Default Value: yes
;daemonize = yes

; 引入www.conf文件中的配置,可以默认值
include=/usr/local/php/etc/php-fpm.d/*.conf

配置www.conf(在php-fpm.d目录下)
www.conf这是php-fpm进程服务的扩展配置文件:
; 设置用户和用户组,默认都是nobody。可以默认值
user = nginx
group = nginx

; 设置PHP监听
; 下面是默认值,不建议使用。可以默认值
; listen = 127.0.0.1:9000
; 根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
listen = /var/run/php-fpm/php-fpm.sock

######开启慢日志。可以默认值
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s
保存配置文件后,检验配置是否正确的方法为:
/usr/local/php/sbin/php-fpm -t
如果出现诸如 test is successful 字样,说明配置没有问题。另外该命令也可以让我们知道php-fpm的配置文件在哪。
 
建立软连接:
ln -sf /usr/local/php/sbin/php-fpm /usr/bin/
ln -sf /usr/local/php/bin/php /usr/bin/
ln -sf /usr/local/php/bin/phpize /usr/bin/
ln -sf /usr/local/php/bin/php-config /usr/bin/
ln -sf /usr/local/php/bin/php-cig /usr/bin/
或者将php编译生成的bin目录添加到当前Linux系统的环境变量中:
echo -e '\nexport PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH\n' >> /etc/profile && source /etc/profile

启动php-fpm
/usr/local/php/sbin/php-fpm 
如果提示没有www用户(www.conf里填写了www而不是nobody),则新增:
useradd www
chown -R www:www /www
检测是否启动:
ps aux |grep php-fpm # 另外该命令也可以让我们知道fpm的配置文件在哪。
netstat -ant |grep 9000
查看php-fpm进程数:
ps aux | grep -c php-fpm
php-fpm操作汇总:
/usr/local/php/sbin/php-fpm         # php-fpm启动
kill -INT `cat /usr/local/php/var/run/php-fpm.pid` # php-fpm关闭
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #php-fpm重启
重启方法二:
killall php-fpm
/usr/local/php/sbin/php-fpm &
如果无法平滑启动,那就终止进程id:
ps aux | grep php-fpm
kill -9 1210 #1210指php-fpm进程id


二、安装Nginx


安装包下载地址: http://nginx.org/download/nginx-1.11.1.tar.gz 
 
依赖:
# 为了支持rewrite功能,我们需要安装pcre
yum install pcre-devel

# 需要ssl的支持,如果不需要ssl支持,请跳过这一步
# yum install openssl*

# gzip 类库安装,按需安装
# yum install zlib zlib-devel
配置编译参数
$ tar -zxvf nginx-1.11.1.tar.gz
$ cd nginx-1.11.1
$ ./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-pcre
配置ok:
Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ md5: using OpenSSL library
+ sha1: using OpenSSL library
+ using system zlib library

nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
编译安装nginx
make
make install
设置软连接:
ln -sf /usr/local/nginx/sbin/nginx /usr/sbin 
检测nginx:
nginx -t
显示:nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

成功了。我们重新配置下nginx.conf:
#user  nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

# 解决虚拟主机名字过长 http://www.jb51.net/article/26412.htm
server_names_hash_bucket_size 128;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间

include vhosts/*.conf;

}
配置localhost:
vim ./vhosts/localhost.conf
server {
listen 80;
server_name localhost;

#charset utf-8;

#access_log logs/host.access.log main;

location / {
root /www/www/;
index index.php index.html index.htm;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /www/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
启动nginx:
/usr/local/nginx/sbin/nginx

# 或者
nginx
重启:
/usr/local/nginx/sbin/nginx -s reload

# 或者
nginx -s reload
停止:
/usr/local/nginx/sbin/nginx -s stop

# 或者
nginx -s stop
如果提示80端口被占用了,可以使用ps aunx | grep 80查看。一般是apache占用了。可以使用:
chkconfig --list
chkconfig nginx on
service apache off
禁止apache启动并关闭apache服务。


三、安装扩展


1、安装swoole
Swoole: PHP的异步、并行、高性能网络通信引擎:http://www.swoole.com/  
wget https://github.com/swoole/swoole-src/archive/swoole-1.8.5-stable.zip
unzip swoole-1.8.5-stable.zip
cd swoole-1.8.5-stable
phpize
./configure
make && make install

2、安装redis
wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
tar -zxvf 2.2.4
cd phpredis-2.2.4/
phpize
./configure
make && make install


四、信号管理


不重载配置启动新/旧工作进程
kill -HUP 旧/新版主进程号
从容关闭旧/新进程
kill -QUIT 旧/新主进程号
如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:
kill -TERM 旧/新工作进程号
升级、添加或删除模块时,我们需要停掉服务器
kill -USR2 旧版程序的主进程号或进程文件名

安装PHP编译出错合集记录

push 发表了文章 • 0 个评论 • 50 次浏览 • 2017-06-15 19:08 • 来自相关话题

情况一:

-liconv -o sapi/fpm/php-fpm

/usr/bin/ld: cannot find -liconv

collect2: ld returned 1 exit status

make: *** [sapi/fpm/php-fpm] Error 1

初步定位是iconv的问题,解决方法 把libiconv卸载掉,进入libiconv源码目录执行:
# make uninstall
# make clean

# ./configure –prefix=/usr/local/libiconv
# make
# make install再进入php源码目录:
./configure php 时加上参数 --with-iconv=/usr/local/libiconv
情况二:

/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

解决办法安装包如下:
# yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64
情况三:

collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

解决办法, 请安装lib所需的安装包:
yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel kernel执行安装完以后即可解决问题make && make install
情况四:
ext/iconv/iconv.o: In function `php_iconv_stream_filter_ctor’:
/usr/local/soft/php-5.2.14/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open’
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1编译参数如下:
./configure –prefix=/usr/local/php –with-gd=/usr/local/gd –with-jpeg-dir=/usr/local/jpeg –with-png-dir=/usr/local/png –with-freetype-dir=/usr/local/freetype –with-mysql=/usr/local/mysql –enable-fastcgi –enable-fpm解决办法:
增加   --disable-cli 编译参数。
 
情况五:

ext/xmlreader/php_xmlreader.o: In function `zim_xmlreader_XML':
/usr/local/src/php-5.2.8/ext/xmlreader/php_xmlreader.c:1109: undefined reference to `xmlTextReaderSetup'
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

解决办法:折腾了半天,最后先make clean 一下,然后把所有libxml2相关的包都装上重新编译就ok了。
 
情况六:
运行可能报错 :我遇到xsl和mcrypt两个库报错,重新安装一下xsl的dev包就可以:CentOS : yum install libxslt-devel libmcrypt-devel
Debian : apt-get install libxslt1-dev libmcrypt-dev 如果你有其他的库不满足,搜索一下该库,安装一下即可,这一步应该没有太多问题。
编译:make 
 
我在Debian下make正常,但在CentOS下却提示make错误,
make: *** [sapi/fpm/php-fpm] Error 1 错误中出现 libiconv,应该是iconv包问题,
使用下面的命令替换即可:
make ZEND_EXTRA_LIBS='-liconv' 
完成后:make test
make install 查看全部
情况一


-liconv -o sapi/fpm/php-fpm

/usr/bin/ld: cannot find -liconv

collect2: ld returned 1 exit status

make: *** [sapi/fpm/php-fpm] Error 1


初步定位是iconv的问题,解决方法 把libiconv卸载掉,进入libiconv源码目录执行:
# make uninstall
# make clean

# ./configure –prefix=/usr/local/libiconv
# make
# make install
再进入php源码目录:
./configure php 时加上参数 --with-iconv=/usr/local/libiconv

情况二:


/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1


解决办法安装包如下:
# yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64

情况三:


collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1


解决办法, 请安装lib所需的安装包:
yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel kernel
执行安装完以后即可解决问题
make  && make install

情况四:
ext/iconv/iconv.o: In function `php_iconv_stream_filter_ctor’:
/usr/local/soft/php-5.2.14/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open’
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1
编译参数如下:
./configure –prefix=/usr/local/php –with-gd=/usr/local/gd –with-jpeg-dir=/usr/local/jpeg –with-png-dir=/usr/local/png –with-freetype-dir=/usr/local/freetype –with-mysql=/usr/local/mysql –enable-fastcgi –enable-fpm
解决办法:
增加   --disable-cli 编译参数。
 
情况五:


ext/xmlreader/php_xmlreader.o: In function `zim_xmlreader_XML':
/usr/local/src/php-5.2.8/ext/xmlreader/php_xmlreader.c:1109: undefined reference to `xmlTextReaderSetup'
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1


解决办法:折腾了半天,最后先make clean 一下,然后把所有libxml2相关的包都装上重新编译就ok了。
 
情况六:
运行可能报错 :我遇到xsl和mcrypt两个库报错,重新安装一下xsl的dev包就可以:
CentOS : yum install libxslt-devel libmcrypt-devel 
Debian : apt-get install libxslt1-dev libmcrypt-dev
如果你有其他的库不满足,搜索一下该库,安装一下即可,这一步应该没有太多问题。
编译:make 
 
我在Debian下make正常,但在CentOS下却提示make错误,
make: *** [sapi/fpm/php-fpm] Error 1 错误中出现 libiconv,应该是iconv包问题,
使用下面的命令替换即可:
make ZEND_EXTRA_LIBS='-liconv' 
完成后:
make test
make install

单独编译添加PHP的pdo_mysql模块

being 发表了文章 • 0 个评论 • 39 次浏览 • 2017-06-14 22:53 • 来自相关话题

原来编译php的时候,没有把pdo_mysql相关的参数带上,安装完后才发现。再重新编译有点费时间,所以决定单独来安装。
 
先找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意mysql的php的版本
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
# tar xzvf PDO_MYSQL-1.0.2.tgz
# cd PDO_MYSQL-1.0.2
# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
# ./configure执行完以后,报如下错误:
checking for mysql_config... not found
configure: error: Cannot find MySQL header files under这个错误表明系统缺省没有找到你的mysql安装目录,因此可以使用这个命令解决:ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config这样建立了你的实际msyql安装目录和mysql_config命令的管理

经过configure就可以make了

在执行:./configure 时,又出现了一个问题:
checking for PDO includes... checking for PDO includes...
configure: error: Cannot find php_pdo_driver.h.检查的时候,不能找到php_pdo_driver.h,经过检查,发现在读php-config的时候,在读以前的配置。

解决方法:
./configure –with-php-config=/usr/local/php/bin/php-config (根据实际的路径的来指定)在执行./configure --with-php-config=/usr/local/php/bin/php-config,又出现了一个问题:
error: mysql_query missing!?解决方法:
./configure --with-php-config=/opt/php5/bin/php-config --with-pdo-mysql=/usr/local/mysql(根据自己的实际路径,设定编译安装mysql的位置).
make && make install注意pdo_mysql的全路径,我的是:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so

然后在/usr/local/lib/php.ini加上一句:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so重新启动apache即可看到已经加载pdo_mysql成功。 查看全部
原来编译php的时候,没有把pdo_mysql相关的参数带上,安装完后才发现。再重新编译有点费时间,所以决定单独来安装。
 
先找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意mysql的php的版本
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz   
# tar xzvf PDO_MYSQL-1.0.2.tgz
# cd PDO_MYSQL-1.0.2
# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
# ./configure
执行完以后,报如下错误:
checking for mysql_config... not found  
configure: error: Cannot find MySQL header files under
这个错误表明系统缺省没有找到你的mysql安装目录,因此可以使用这个命令解决:
ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config
这样建立了你的实际msyql安装目录和mysql_config命令的管理

经过configure就可以make了

在执行:./configure 时,又出现了一个问题:
checking for PDO includes... checking for PDO includes...  
configure: error: Cannot find php_pdo_driver.h.
检查的时候,不能找到php_pdo_driver.h,经过检查,发现在读php-config的时候,在读以前的配置。

解决方法:
./configure –with-php-config=/usr/local/php/bin/php-config (根据实际的路径的来指定)
在执行./configure --with-php-config=/usr/local/php/bin/php-config,又出现了一个问题:
error: mysql_query missing!?
解决方法:
./configure --with-php-config=/opt/php5/bin/php-config --with-pdo-mysql=/usr/local/mysql
(根据自己的实际路径,设定编译安装mysql的位置).
make && make install
注意pdo_mysql的全路径,我的是:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so

然后在/usr/local/lib/php.ini加上一句:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so
重新启动apache即可看到已经加载pdo_mysql成功。

​【直播预告】别再成为勒索软件的“盘中餐”,网络安全刻不容缓!

OT学习平台 发表了文章 • 0 个评论 • 37 次浏览 • 2017-06-14 11:02 • 来自相关话题

说到勒索病毒,大家都会不自觉的想到WannaCry。是的,因为,它的爆发真的让好多人哭晕在厕所,而这次网络攻击也达到了“史无前例的级别”。此次勒索病毒,是通过互联网端口输入病毒程序,对重要文件进行加密然后敲诈,攻击目标直接锁定用户的数据,攻击手段竟是原本为了保护数据安全的密码技术,这些都提醒人们保护网络安全刻不容缓。
此外,网络病毒存在巨大的获利空间,在一段时间内,可能还会出现更多的变种病毒。因此,我们完全有理由相信,WannaCry只是一个开始。
知己知彼,才能百战不殆,下面O宝就为大家总结下,勒索软件的传播都有哪些途径。
网络钓鱼和垃圾邮件
网络罪犯在邮件正文中加入钓鱼网址链接。 借助网页木马传播,当用户不小心访问恶意网站时,勒索软件会被浏览器自动下载并在后台运行。
水坑式攻击
网络罪犯会将恶意软件植入到企业或个人经常访问的网站之中,一旦访问了这些网站,恶意程序会利用设备上的漏洞对其进行感染。 
捆绑传播发布
借助其他恶意软件传播渠道,与其他恶意软件捆绑发布传播;或者捆绑正常的软件进行传播。
借助移动存储传播
借助U盘、移动硬盘、闪存卡等可移动存储介质传播。
知道了勒索病毒的“套路”,我们要如何“对症下药”当然靠它
Sophos Intercept X下一代端点安全技术,Sophos致力于为企业提供整体安全解决方案,Intercept X 这么牛,还有哪些我们不知道的?想了解更多,看直播!
6月15日14 : 00“眼泪拯救不了企业安全对勒索软件下手就要‘稳、准、狠’”直播活动即将开启,Sophos Intercept X,何止看上去这么简单!
活动日程
14 : 00-14 : 05  嘉宾介绍
14 : 05-14 : 20  wannaCry带来的思考
14 : 20-14 : 40  如何从根本防御勒索软件
14 : 40-14 : 50  如何面对更复杂的威胁
14 : 50-15 : 00  互动答疑
点击报名观看直播>>>“眼泪拯救不了企业安全对勒索软件下手就要‘稳、准、狠’” 查看全部
说到勒索病毒,大家都会不自觉的想到WannaCry。是的,因为,它的爆发真的让好多人哭晕在厕所,而这次网络攻击也达到了“史无前例的级别”。此次勒索病毒,是通过互联网端口输入病毒程序,对重要文件进行加密然后敲诈,攻击目标直接锁定用户的数据,攻击手段竟是原本为了保护数据安全的密码技术,这些都提醒人们保护网络安全刻不容缓。
此外,网络病毒存在巨大的获利空间,在一段时间内,可能还会出现更多的变种病毒。因此,我们完全有理由相信,WannaCry只是一个开始。
知己知彼,才能百战不殆,下面O宝就为大家总结下,勒索软件的传播都有哪些途径。
网络钓鱼和垃圾邮件
网络罪犯在邮件正文中加入钓鱼网址链接。 借助网页木马传播,当用户不小心访问恶意网站时,勒索软件会被浏览器自动下载并在后台运行。
水坑式攻击
网络罪犯会将恶意软件植入到企业或个人经常访问的网站之中,一旦访问了这些网站,恶意程序会利用设备上的漏洞对其进行感染。 
捆绑传播发布
借助其他恶意软件传播渠道,与其他恶意软件捆绑发布传播;或者捆绑正常的软件进行传播。
借助移动存储传播
借助U盘、移动硬盘、闪存卡等可移动存储介质传播。
知道了勒索病毒的“套路”,我们要如何“对症下药”当然靠它
Sophos Intercept X下一代端点安全技术,Sophos致力于为企业提供整体安全解决方案,Intercept X 这么牛,还有哪些我们不知道的?想了解更多,看直播!
6月15日14 : 00“眼泪拯救不了企业安全对勒索软件下手就要‘稳、准、狠’”直播活动即将开启,Sophos Intercept X,何止看上去这么简单!
活动日程
14 : 00-14 : 05  嘉宾介绍
14 : 05-14 : 20  wannaCry带来的思考
14 : 20-14 : 40  如何从根本防御勒索软件
14 : 40-14 : 50  如何面对更复杂的威胁
14 : 50-15 : 00  互动答疑
点击报名观看直播>>>“眼泪拯救不了企业安全对勒索软件下手就要‘稳、准、狠’