【PHP开源代码栏目提醒】:网学会员鉴于大家对PHP开源代码十分关注,论文会员在此为大家搜集整理了“毕业设计论文—LAMP系统构建毕业论文 - 毕业设计”一文,供大家参考学习
毕业
论文题 目 LAMP 系统构建学 院 物理与信息科学技术学院姓 名 何 涛专 业 计算机科学与技术学 号 281030151指导教师 赵文波提交日期 2012 年 3 月 29 日 原创性声明 本人郑重声明:本人所呈交的
论文是在指导老师的指导下独立进行研究所取得的成果。
学位
论文中凡是引用他人已经发表或未经发表的成果、数据、观点等均已明确注明出处。
除文中已经注明的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。
本声明的法律责任由本人承担。
论文作者签名: 年 月 日
论文指导教师签名: LAMP 系统构建 摘要 随着信息技术的不断发展,网络技术的不断完善,各种服务类平台层出不穷。
在这样的环境下,Lamp 系统架构应运而生了,并且经过不断的完善,俨然已成为国内外首屈一指的大型服务平台之一。
Lamp(Linux-Apache-MySQL-
PHP)系统架构是目前国际流行的Web 框架。
该框架包括:Linux 操作系统,Apache 网络服务器,MySQL数据库,Perl、
PHP 或者 Python 编程语言,所有组成产品均是
开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和 Java/J2EE 架构相比,Lamp 具有 Web 资源丰富、轻量、快速开发等特点;和微软的.NET 架构相比,Lamp 具有通用、跨平台、高性能、低价格的优势,因此 Lamp 无论是性能、质量还是价格都是企业搭建系统的首选平台。
本
论文以 centos6 版本的 Linux 为基础,以 Apache 服务器作为Web 服务器,选用高效简洁的
Php 语言作为主要编程语言,利用 MySQL庞大的数据服务功能,共同组成实用、高效、跨平台的 Lamp 框架,为系统提供各种服务,同时也为各种中小型企业的网站开发等提供便利。
在本
论文的过程中,本人充分考虑了 Lamp 自身的巨大优势,在满足各种类型需求者的基础上,不断对此平台进行加固和完善,保证各种功能的正常运行,为各种需求者提供最优质、最贴心的服务。
关键字:centos6 系统、LAMP
PHP MYSQL Apache LAMP system builder Abstract With the continuous development of information technologynetwork technology continues to improve and an endless streamof a variety of service class platform. In such an environmentLamp system architecture came into being and throughcontinuous improvement has become an at home and abroadleading large service platforms. Lamp Linux-Apache-MySQL-
PHP system architecture isinternationally popular Web framework. The framework includes:the Linux operating system Apache web server MySQL databasePerl
PHP or Python programming language all the compositionof the product is open source software is a mature architectureframework many popular business applications have adoptedthis framework and Java/J2EE architecture Lamp has a rich Webresources lightweight fast development and Microsoft. NETframework Lamp has the advantage of universal cross-platformhigh performance low price so Lamp regardless of is theplatform of choice for performance quality or price arebusiness building systems. This thesis is based on centos6 version of Linux the Apacheserver as a Web server the choice of efficient and simple Phplanguage as the primary programming language MySQL huge dataservice functions composed of practical efficientcross-platform Lamp framework for the systemprovide variousservices but also to facilitate site development for a varietyof small and medium-sized enterprises. In this paper the designand implementation process I take full account of the Lampitself a huge advantage and meet all types of needs based onconstantly this platform to reinforce and improve the guaranteethe normal operation of the various functions for all need toprovide the highest quality and the most attentive service. Keyword:Centos6 system .LAMP
PHP MySQL Apache 目录1.绪论.......................................................................................................................................................7 1.1 课题背景和现实意义................................................................................................................7 1.2 软件介绍....................................................................................................................................7 1.3LAMP 的优点.............................................................................................................................72.LAMP 相关技术介绍 ...........................................................................................................................8 2.1 软件介绍....................................................................................................................................8 2.1.1LAMP 介绍 .....................................................................................................................8 2.2 所用软件介绍............................................................................................................................83.LAMP 系统架构 ...................................................................................................................................9 3.1LAMP 系统框架.........................................................................................................................9 3.2LAMP 安装配置......................................................................................................................12 3.2.1 配置环境 ......................................................................................................................12 3.2.2 安装 apache .................................................................................................................12 3.2.3 安装
PHP ......................................................................................................................13 3.2.4 安装 Mysql ...................................................................................................................16 3.2.5 安装 phpMyAdmin......................................................................................................174.系统调优 ............................................................................................................. 错误!未定义书签。
4.1 系统调优的意义...................................................................................... 错误!未定义书签。
4.2 度量调优.................................................................................................. 错误!未定义书签。
4.3 一些快速的内核调优措施...................................................................... 错误!未定义书签。
5.参考文献 .............................................................................................................................................186.结论.....................................................................................................................................................18 1.绪论1.1 课题背景和现实意义 随着科技的并不断发展,信息技术的不断革新,无论是国内外还是各行各业,都基本上实现了与现代科学技术,尤其是信息技术的接轨,使得软件信息公司的竞争日益剧烈,而客户对软件和技术的要求是越来越严格。
社会的压力和企业的竞争使得各种新软件的产生,而本
论文所要研究的 LAMP 系统平台就应运而生了。
随着现代企业与国际和信息现代化的接轨,对计算机软件和系统平台的要求日益提高,而新产生的 LAMP 平台正好满足了公司或者企业的需求,而它相对低廉的价格和高效的服务能力正好满足了企业的各种需要,而且已经普遍应用到各种类型的大小公司,基本上了实现了服务平台的垄断。
本
论文在这种大趋势的基础下,对 LAMP 系统平台进行了最基础的搭建,并且在搭建的基础上,对此平台所存在的不足之处采取了合理的处理办法,比如对系统的运行速度和运转几率进行了调优,实现了系统调优,促进了此平台的正常运转。
1.2 软件介绍 选择合适的软件对于系统平台的整体性能影响很大。
系统软件的选择包括操作系统的选择、web 服务器的选择、编程语言的选择以及数据库的选择。
Web 服务器的设计过程中,网络操作系统的选择比硬件选择更重要,因为网络操作系统的更换需要大量的时间和昂贵的费用,而硬件只需在现有的服务器上添加或更改即可。
本
论文的 LAMP 系统搭建选择了具有代表性的 LinuxApacheMySQLPHP,进行简单的平台搭建。
LAMP 系统架构是目前国际流行的 Web 框架,该框架系统中 以包括: centos6 版的 Linux 作为操作系统,Apache 作为网络服务器,采用 MySQL数据库,并以 Perl、
PHP 或者 Python 编程语言进行开发。
LAMP 国际上成熟的架构框架,也是目前建站使用最多的框架。
而本
论文中 LAMP 系统平台的搭建是在虚拟机 VMware 的基础上安装 centos6 进行配置的。
1.3LAMP 的优点 作为
开源架构的“黄金组合”,LAMP 具有较强的稳定性和安全性且可以跨平台移植。
其性能与 Java/J2EE 具有资源丰富、轻量、开发快捷的特点:与微软的。
Net 相比,具有高通用性、高性能、低价格、跨平台的优势。
LAMP 技术结构不仅能够满足系统的性能要求,而且能适应系统对网络大访问量的需要以及日益膨胀的数据库,保证系统在重负之下保持稳定运行。
除此之外,LAMP 还具有以下优 (1)恒温扩增,扩增阶段对仪器的要求低。
点: (2)视觉直观检测,不需要检测 (3)反应速度快,敏感性高。
仪。
(4)用多个引物,特异性好。
因此现在很多流行的商业应用都采取这个架构。
2.LAMP 相关技术介绍2.1 软件介绍2.1.1LAMP 介绍 LAMP 这个特定名词最早出现在 1998 年。
当时,Michael Kunze 为德国计算机杂志 ct 写作的一篇关于自由软件如何成为商业软件替代品的文章时,创建了 LAMP 这个名词,用来指代 Linux 操作系统、Apache 网络服务器、MySQL 数据库和
PHP (Perl 或 Python)脚本语言的组合(由四种技术的开头字母组成)。
由于 IT 世界众所周知的对缩写的爱好,Kunze 提出的 LAMP 这一术语很快就被市场接受。
OReilly 和 MySQL AB 更是在英语人群中推广普及了这个术语。
随之 LAMP技术成为了
开源软件业的一盏真正的明灯。
2.2 所用软件介绍 Linux:Linux 处在最低层,提供操作系统。
其他每个组件实际上也在其上运行。
但是,并不一定局限于 Linux,如有必要,其他操作系统也可以实现,例如:Windows、Mac OS X 或 UNIX。
本
论文中所选用的 linux 系统是 centos6. Apache:次低层是 Apache,它是一个 Web 服务器。
Apache 提供可让用户获得 Web 页面的机制。
Apache 是一款稳定的、支持关键任务的服务器,Internet上超过 65 的网站都使用它作为 Web 服务器。
PHP 组件实际上是在 Apache中,动态页面可以通过 Apache 和
PHP 创建。
MySQL:MySQL 提供 LAMP 系统的数据存储端。
有了 MySQL,便可以获得一个非常强大的、适合运行大型复杂站点的数据库。
在 Web 应用程序中,所有数据、产品、帐户和其他类型的信息都存放在这个数据库中,通过 SQL 语言可以很容易地查询这些信息。
Perl:Perl 是一种脚本语言。
这表示它并不编译成可执行程序,而是在运 。
行时进行解释的一组指令(脚本) Perl 是代表“实际抽取和报告语言”practical extraction and report language 的字首组合词。
Perl 被誉为语 。
它功能强大且非常灵活。
语言学家 Larry Wall 在廿世纪言中的“瑞士军刀”八十年代后期在 NASA 担任系统管理员时开发了 Perl。
他创建 Perl 的目的是使构建报告的任务变得更简单。
Perl 现在用来执行许多任务。
它也许是用于在Web 上进行 CGI(公共网关接口)编程最流行的语言。
其原因就是 Perl 是一 而种功能非常强大的文本处理器, Web 编程主要就是文本处理。
另外,使用 Perl通常比使用 C/C、Java 或 Tcl 更简单,而且它比 Python 更早出现。
Perl被称为是一种“胶水语言”。
所谓胶水语言,也就是说它是可以用来将许多元素连接在一起的语言。
Python:Python 一种交互式面向对象的解释型编程语言。
Python 使用非常清晰的语法实现非常强大的功能。
它具有模块、类、意外处理以及非常高级别的动态数据类型和动态定义。
并且,它具有接口和库函数供多种系统调用。
内建模块还可以使用 C 或 C语言方便地编写。
对于用户界面的编程,Python 同样能够胜任。
Python 可以运行在 Linux 、UNIX、Windows、DOS、OS/2、Mac 以及Amiga 等等多种环境下。
Python 虽然有版权,但完全可以免费使用和分发,甚至是为了商业用途。
PHP:
php 是一门简单而有效的编程语言,它像是粘合剂,可以将 LAMP 系统所有其他的组件粘合在一起。
您可以使用
PHP 编写能访问 MySQL 数据库中的数据和 Linux 提供的一些特性的动态内容。
3.LAMP 系统架构3.1LAMP 系统框架Linux 操作系统有很多个不同的发行版,如 Red Hat Enterprise Linux、SUSELinux Enterprice、Debian、Ubuntu、CentOS 等,每一个发行版都有自己的特色,比如 RHEL 的稳定,Ubuntu 的易用,基于稳定性和性能的考虑,操作系统选择 CentOS(Community ENTerprise Operating System)是一个理想的方案。
CentOS(Community ENTerprise Operating System)是 Linux 发行版之一,是 RHEL/Red Hat Enterprise Linux 的精简免费版,和 RHEL 为同样的源
代码,不过,RHEL 和 SUSE LE 等企业版,提供的升级服务均是收费升级,无法免费在线升级,因此要求免费的高度稳定性的服务器可以用 CentOS 替代 Red HatEnterprise Linux 使用。
而本
论文所选择的操作系统就是 centos6。
LAMP 网站架构图Web 服务器、缓存和
PHP 加速 Apache 是 LAMP 架构最核心的 Web Server,
开源、稳定、模块丰富是 Apache的优势。
但 Apache 的缺点是有些臃肿,内存和 CPU 开销大,性能上有损耗,不如一些轻量级的 Web 服务器(例如 nginx)高效,轻量级的 Web 服务器对于静态文件的响应能力来说远高于 Apache 服务器。
Apache 做为 Web Server 是负载
PHP 的最佳选择,如果流量很大的话,可以采用 nginx 来负载非
PHP 的 Web 请求。
nginx 是一个高性能的 HTTP 和反向代理服务器,Nginx 以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
Nginx 不支持
PHP 和 CGI 等动态语言,但支持负载均衡和容错,可和Apache 配合使用,是轻量级的 HTTP 服务器的首选。
Web 服务器的缓存也有多种方案,Apache 提供了自己的缓存模块,也可以使用外加的 Squid 模块进行缓存,这两种方式均可以有效的提高 Apache 的访问响应能力。
Squid Cache 是一个 Web 缓存服务器,支持高效的缓存,可以作为网页服务器的前置 cache 服务器缓存相关请求来提高 Web 服务器的速度,把 Squid放在 Apache 的前端来缓存 Web 服务器生成的动态内容,而 Web 应用程序只需要适当地设置页面实效时间即可。
如访问量巨大则可考虑使用 memcache 作为分布式缓存。
PHP 的加速使用 eAccelerator 加速器,eAccelerator 是一个自由开放源码
PHP 加速器,优化和动态内容缓存,提高了性能
PHP 脚本的缓存性能,使得
PHP脚本在编译的状态下,对服务器的开销几乎完全消除。
它还有对脚本起优化作用,以加快其执行效率。
使
PHP 程序
代码执效率能提高 1-10 倍。
具体的解决方案有以下几种: 1、squid Apache
PHP eAccelerator 使用 Apache 负载
PHP,使用 squid 进行缓存,html 或图片的请求可以直接由 squid 返回给用户。
很多大型网站都采用这种架构。
2、nginx/Apache
PHP(fastcgi) eAccelerator 使用 nginx 或 Apache 负载
PHP,
PHP 使用 fastcgi 方式运行,效率较高。
3、nginx Apache
PHP eAccelerator 此方案综合了 nginx 和 Apache 的优点,使用 Apache 负载
PHP,nginx 负责解析其他 Web 请求,使用 nginx 的 rewrite 模块,Apache 端口不对外开放。
数据库
开源的数据库中,MySQL 在性能、稳定性和功能上是首选,可以达到百万级别的数据存储,网站初期可以将 MySQL 和 Web 服务器放在一起,但是当访问量达到一定规模后,应该将 MySQL 数据库从 Web Server 上独立出来,在单独的服务器上运行,同时保持 Web Server 和 MySQL 服务器的稳定连接。
当数据库访问量达到更大的级别,可以考虑使用 MySQL Cluster 等数据库集群或者库表散列等解决方案。
3.2LAMP 安装配置3.2.1 配置环境操作系统:Centos6安 装 包 :httpd2.2.22 mysql5.1.61libxml2.6.16 zlib1.2.1.2gd2.0.28libpng1.2.7
php5.4.0libxml2: xml 解析库zlib:
开源压缩库gd: 图形库libpng: 用来处理 png 图像格式文件的库freetype: TrueType 字体绘制引擎ZendOptimizer:JPEG 库:3.2.2 安装 apache进入安装目录 yum install httpd设置成开机自动启动服务chkconfig --levels 235 httpd on启动 apacheservice httpd start 或者/etc/init.d/httpd start多数人也许会在启动时出现错误,但是仍然能够启动,这是因为没有在本地做DNS 解析造成的编辑一下 apache 的配置文件 vi /etc/httpd/conf/httpd.conf把里面的 ServerName 那个注释去掉,然后改成 ServerName localhost:80 或者ServerName 127.0.0.1:80重启一下 apache 服务service httpd restart测试浏览器输入 http://ip 地址 看到 apache 的 testpage在 CentOS 中 Apache 的 默 认 根 目 录 是 /var/www/html , 配 置 文 件/etc/httpd/conf/httpd.conf。
其他配置存储在 /etc/httpd/conf.d/ 目录。
3.2.3 安装
PHP进入安装目录 yum install
php php-mysql
php-gd
php-imap
php-ldap
php-mbstringphp-odbc
php-pear
php-xml
php-xmlrpc配置
php 安装信息 配置安装后目录,模块动态配置,允许重写重配置 方式一./configure --prefix/usr/local/
php--with-apxs2/usr/local/apache/bin/apxs--with-mysql/usr/local/mysql/--with-curl/usr/local/curl --enable-ftp--with-libxml-dir/usr/local/libxml2 --with-expat-dir/usr/lib--enable-soap --with-xsl/usr/local/libxslt --enable-xslt--with-gd/usr/local/gd2/--with-jpeg-dir/usr/local/jpeg6/ --with-zlib-dir/usr/lib --with-png--with-freetype-dir/usr/local/freetype--enable-mbstring方式二./configure --prefix/usr/local/
php--with-apxs2/usr/local/apache/bin/apxs--with-mysql/usr/local/mysql/ --with-mssql/usr/local/freetds/--with-curl/usr/local/curl 其中./configure 后的--prefix/usr/local/
php--with-a.