LAMP应用架构优势与搭建

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

Office Anywhere采用基于WEB的企业计算平台,如下图:

clip_image001

LAMP架构的优势

名词解释(引自百度百科):

LAMP :基于Linux,Apache,MySQL和PHP的开放资源网络开发平台。Linux是开放操作系统;Apache是最通用的网站服务器;MySQL是带有基于网络管理附加工具的关系型数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。

许多网站采用Apache 网站服务器+MySQL数据库+PHP语言引擎开发。可运行于Windows,Linux,Unix,苹果Mac OS等多种操作系统。

下面分别介绍Apache、PHP、MySQL的优势。

Apache网站服务器

Apache 是一个开源软件项目,自1996年起,一些顶尖的软件工程师,在美国伊利诺斯大学超级计算机应用程序国家中心(National Center for Supercomputing Applications,简称为NCSA)开发的 NCSA HTTPd 服务器的基础上开发与维护Apache服务器,1999年Apache软件基金会成立。

Apache的特点是简单、速度快、性能稳定。

Apache是世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上。

据Netcraft统计:截止2008年6月,全世界互联网站总量达1.72亿,使用Apache服务器的位居第一,达49.12%,而使用微软IIS的为35.39%。

国内使用Apache服务器的知名网站和应用有:

搜狐(Apache 1.3)、新浪(Apache 2.0.54)、网易(Apache 2.2.6)、腾讯QQ网站、新华网、中华网、人民网、chinaren、淘宝网

以上网站服务信息,可以到http://uptime.netcraft.com查询,国外采用Apache的网站更多,不再详述。

PHP语言引擎

PHP的优势包括:开源模式使得开发者无需付费,支持多种操作系统,强大的的可伸缩性,稳定高效运行,快速开发,面向对象的编程,支持和JAVA的交互等特性。 
PHP在数据库方面的支持非常丰富,包括:filePro,Informix,InterBase,mSQL,Microsoft SQL Server,MySQL,Sybase,ODBC,Oracle,PostgreSQL等等。

作为全球最普及的互联网开发语言之一,占到了全世界互联网应用的40%, PHP从1994年诞生至今已被2000多万个网站采用,国外流行程度更高。全球知名互联网公司Yahoo!、Goolge、Lycos、YouTube和中国知名网站新浪、百度、腾讯、TOM 等均是PHP 技术的经典应用。其中新浪网90%以上的Web开发采用PHP语言(资料数据转自CSDN程序员杂志2008年6月刊,新浪网架构师所著原文)。

并且,随着PHP 技术的成熟和完善,PHP 已经从一种针对网络开发的计算机语言发展成为了一个适合于企业级部署的技术平台,IBM、 Cisco、西门子、Adobe等公司均在普遍选用 PHP 技术。

在国际权威机构的调查报告中显示,PHP 技术在全球互联网社区领域的应用位居第一。在Alexa中文网站500强中,394家网站全部或部分应用着PHP 技术。在中国,目前也有着数十万的PHP 爱好者和程序员,他们身在不同地区,但都是PHP、开源的追随者。

PHP语言的发展十分迅猛,Web2.0时代的到来,更加速了PHP的普及,以下是几个生动的案例:

微软2007年花2.4亿美金收购1.6%股份的世界第二大社区网站facebook就采用了PHP语言开发,利用PHP的高度可伸缩特性,facebook支持用户开发扩展应用模块,这种全新的技术特性造就了facebook的极大成功,目前市值已超过100亿美元,它的未来就是一个网络版的操作系统。可以看到尽管微软发明了ASP.net语言,但仍非常看好PHP技术。

著名网站百度、雅虎都使用PHP开发重量级应用,比如百度的企业竞价排名系统就采用PHP开发,这是百度目前最大的收入来源,百度企业竞价排名管理站点网址:www2.baidu.com。

大家所熟知的PHP开发的论坛软件Discuz!几乎占据了80%的国内论坛软件市场,我们看到的门户网站论坛或社区,大多采用了PHP开发。

在国内OA领域,至少有30%以上的OA品牌采用PHP开发,这也包括采用通达OA平台开发的30余家正规品牌和众多盗版产品,PHP开发的OA在国内几乎有统一天下之势。

PHP与JAVA、ASP、ASP.net等网络语言的数据对比

现在最流行的统计方式,就是Google了,看看Google的搜索结果,基本就能判断出其在市面上的网站的使用情况,

约有11,050,000,000项符合php的查询结果 
约有 3,540,000,000项符合asp的查询结果 
约有 1,900,000,000项符合aspx的查询结果 
约有   771,000,000项符合jsp的查询结果

全球PHP网站页面达到110亿,超过了ASP、ASP.net和JSP的总和。

这段时间葛优频繁曝光,总是喋喋不休的告诉俺们一个道理——用的人多的卡就是好卡。而如果套用这个光头明星的话,那就是:我,相信群众,从上面查询的结果大家可以看到,人民群众是很爱戴PHP的。

MySQL数据库

MySQL是一个关系型数据库管理系统,目前MySQL被业界广泛地应用,在过去两年里,MySQL在所有开发者使用的数据库中获得了25%的市场份额。

MySQL开发者为瑞典MySQL AB公司。在2008年1月16日,被Java语言的创始和主导公司—美国Sun公司10亿美元收购。

Mysql已经在中国设立了研发与技术支持中心(万里开源携手MySQL共建MySQL中国研发中心),通达科技通过与之交流,加强了合作的认识,也获得了技术指导,将更好地提高Mysql的企业应用水平。MySQL中国充分肯定了通达在企业推广Mysql数据库应用的贡献,欢迎通达向用户推荐使用Mysql数据库。双方也将在后续的市场推广中,展开更深层次的合作,包括向集团企业用户提供高可靠的基于Mysql的数据库解决方案和优质服务,更多信息参考通达网站新闻。

大家所熟悉的新浪网、腾讯QQ、淘宝网,都大量采用了MySQL数据库。

腾讯QQ采用Linux操作系统+MySQL数据库平台,至2004年2月,其注册用户数已经达到2.8亿户,活跃人数9200万,凭借上千台服务器组成的集群应用,至2005年2月,腾讯QQ的同时在线人数突破了1000万,这也充分证明了MySQL数据库的的大容量、快速响应的特点。

MySQL CEO Mickos说:MySQL尤其适用于Web应用,这也是该产品如今最为广泛的应用领域。其重要客户包括了Yahoo和Google,他们都在自己的站点中使用MySQL数据库。该产品同样还被用于嵌入式环境,在诸如零售业、制造业、政府机构和大学这样的环境用于完成办公任务。由于其可以实现各种用途,MySQL的客户遍布各个领域,从电信业(沃达丰、爱立信)到IT(惠普、德州仪器)再到新闻出版(美联社、时代杂志)。

MySQL客户还包括:朗讯、北电、美洲银行、西门子、思科、摩托罗拉、UPS、美国国防部、美国洛克希德-马丁公司、德国邮政、道琼斯、迪斯尼、戴姆勒-克莱斯勒等。

对于超高负载系统,通达可以提供Linux集群+MySQL数据库集群版的高性能配置方案,这种方案与Google或Baidu的集群系统方案类似,扩展空间很大,如果增加大量用户,只需再增加节点服务器就可以了。

快速部署LAMP

使用yum安装方式部署lamp(由于本人能力有限,所以有不尽人意的地方还请多多包涵)

一、yum配置

clip_image003

//进行yum源路径的配置

clip_image005

//baseurl为yum源的路径,Server为一会挂载的光盘中的目录,我们用到的包都在这个目录下;enable=1开启yum功能;gpgcheck=0不验证yum安装的包,其下面的一行为验证方式。

二、挂载系统光盘

clip_image007

//将光盘挂载到目录mnt下

三、安装apache、php和mysql包

clip_image009

//安装时间稍微长点

修改主机名

#hostname oracle.com

#vim /etc/sysconfig/network

clip_image011

修改http.conf中servername

clip_image013

查看apache是否可以使用

clip_image015

# php –i用来查看php服务的,只是输出的信息太多无法截图了

查看mysql服务的安装

clip_image017

开启apache和mysql的服务和设置开机启动

clip_image019

clip_image021

四、编写两个简易的网页做测试

clip_image023

① 静态网页测试

clip_image025

② 动态网页测试(php)

clip_image027

五、安装discuz论坛

解压discuz包到/var/www/html目录下

clip_image029

在/var/www/html中会看到名为upload的包,这就是discuz解压后的目录

在浏览器地址栏里输入192.168.8.254/upload/install进行discuz的安装

clip_image031

//点击“我同意”进行下一步

clip_image033//进行目录、文件权限检查时显示当前状态不可写

我们进入/var/www/html/upload下对那些不可写的目录和文件进行权限的修改

把那些不可写的目录和文件复制到一个文件中去,我这里就把它们复制到名chmod的文件

clip_image035

//由于本人vi下的编辑能力有限,所以用了上面的笨方法

再次刷新页面

clip_image037

//可以看到刚才的那些文件和目录变成可写了,点击下一步

clip_image039

//修改“数据库用户名”为root,密码为空;管理员账号admin,密码随意,点击下一步

clip_image041

clip_image043

//让我们填一些联系方式,先不管了直接跳过

clip_image045

//看到我们的论坛了,让我们亲自体验一下吧

clip_image047

//点击“登录”,输入管理员账号和密码,接下来你就可以发挥自己的想象来设计自己的网站了。

我们使用脚本来快速部署LAMP

vim lamp.sh

#!/bin/sh

yum –y install http* php* mysql*

echo “192.168.8.254”>/var/www/html/index.html

echo “<?php;phpinfo();?>”&gt;/var/www/html/index.php

/etc/init.d/httpd start

/etc/init.d/mysqld start

chkconfig httpd on

chkconfig mysqld on

unzip Discuz_7.2_FULL_SC_UTF8.zip –d /var/www/html/

cd /var/www/html/upload/

chmod 777 ./config.inc.php

chmod 777 ./attachments

chmod 777 ./forumdata

chmod 777 ./forumdata/cache

chmod 777 ./forumdata/templates

chmod 777 ./forumdata/threadcaches

chmod 777 ./forumdata/logs

chmod 777 ./uc_client/data/cache

clear

echo "Please access http://192.168.8.254/upload/install/ to begin your installation."

//192.168.8.254为我服务器的地址,此脚本我放在/opt目录下执行,并且Discuz_7.2_FULL_SC_UTF8.zip包也在此目录下,一定要在同一个目录下执行。

此文下载地址:http://down.51cto.com/data/159575

由于页面内容过多,我写的一个源代码定制安装文档已上传到http://down.51cto.com/data/160441,花了我四天的时间详细的在机器上亲自实施了两次。此文档为生产当中用的最为频繁的方法,如果需要源码包就给我留言我单播给你





本文转自 baiying 51CTO博客,原文链接:http://blog.51cto.com/baiying/476474,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第9天】 随着数字化转型的浪潮席卷全球,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了云原生架构的关键组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps文化,并分析了这些技术如何帮助企业加速产品上市时间,提高运营效率,并最终实现业务目标。同时,文章也识别了企业在采纳云原生实践中可能面临的挑战,如安全性考量、团队技能提升和复杂的网络管理,并提出了相应的解决方案和最佳实践。
|
4天前
|
监控 负载均衡 API
微服务架构在现代企业中的应用与挑战
微服务架构已成为现代企业构建灵活且可扩展软件系统的首选。然而,随着其应用的普及,企业也面临着一系列新的挑战。本篇文章将探讨微服务架构的优势、实施时遇到的问题以及解决这些问题的策略。
|
4天前
|
Kubernetes Cloud Native 持续交付
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第6天】 在数字化转型的浪潮中,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了如何利用Kubernetes这一领先的容器编排平台,结合微服务架构,构建和维护高效、可伸缩的云原生应用。通过分析现代软件设计原则和最佳实践,我们提出了一个综合指南,旨在帮助开发者和系统架构师优化云资源配置,提高部署流程的自动化水平,并确保系统的高可用性。
27 1
|
9天前
|
Cloud Native 安全 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第1天】 随着数字化转型的深入,云原生技术以其灵活性、可扩展性和敏捷性成为现代企业IT架构的核心。本文将探讨云原生架构的关键组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps实践,并分析它们如何共同塑造企业的运营模式。同时,文章还将讨论在采纳云原生过程中企业可能遇到的挑战,如安全性问题、技术复杂性以及组织文化的转变,并提出应对策略。
27 8
|
10天前
|
前端开发 JavaScript 安全
【TypeScript技术专栏】TypeScript在微前端架构中的应用
【4月更文挑战第30天】微前端架构通过拆分应用提升开发效率和降低维护成本,TypeScript作为静态类型语言,以其类型安全、代码智能提示和重构支持强化这一架构。在实践中,TypeScript定义公共接口确保跨微前端通信一致性,用于编写微前端以保证代码质量,且能无缝集成到构建流程中。在微前端架构中,TypeScript是保障正确性和可维护性的有力工具。
|
11天前
|
Cloud Native Devops 持续交付
构建未来应用:云原生架构在现代企业中的实践与挑战
【4月更文挑战第29天】 随着数字化转型的加速,企业正迅速转向云计算以支撑其业务敏捷性和创新。云原生技术,作为推动这一转型的关键因素,正在重新定义软件开发和运维模式。本文将深入探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps文化,并分析这些技术如何帮助企业实现弹性、可扩展和高效的应用部署。同时,我们将讨论在采纳云原生实践中所面临的挑战,包括安全性、治理和人才缺口等问题。
|
11天前
|
消息中间件 PHP 数据库
【PHP开发专栏】PHP在微服务架构中的应用
【4月更文挑战第29天】微服务架构将大型应用拆分成独立小服务,PHP在其中可作为API网关、微服务提供者,参与服务发现、消息队列处理和事件驱动。最佳实践包括选择合适PHP框架、使用容器化技术、定义服务契约、采用分布式缓存、实现服务发现、监控和日志收集、优化数据库设计以及注重安全性。遵循这些实践,PHP开发者能构建高效、可扩展的微服务应用。
|
1天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
1天前
|
负载均衡 算法 NoSQL
探索微服务架构下的服务发现与治理
【5月更文挑战第9天】 在当今的软件开发领域,微服务架构已成为构建可伸缩、灵活且容错的系统的首选模式。随着服务的增多,如何有效地进行服务发现与治理成为了关键的挑战。本文将深入探讨微服务环境中服务发现的机制和治理策略,分析不同服务发现工具的优缺点,并提出一种基于一致性哈希和健康检查相结合的服务治理方案,旨在提高系统的可用性和性能。
|
1天前
|
监控 API 持续交付
构建高效可靠的微服务架构:策略与实践
【5月更文挑战第8天】在当今快速演进的软件开发领域,微服务架构已经成为实现敏捷开发、持续交付和系统弹性的关键模式。本文将探讨构建一个高效且可靠的微服务系统所必须的策略和最佳实践。我们将从服务的划分与设计原则出发,讨论如何通过容器化、服务发现、API网关以及断路器模式来优化系统的可伸缩性和鲁棒性。此外,我们还将涉及监控、日志管理以及CI/CD流程在确保微服务架构稳定运行中的作用。