计算机科学与技术毕业论文设计LAMP系统构建.doc

上传人:laozhun 文档编号:2388783 上传时间:2023-02-17 格式:DOC 页数:20 大小:1.33MB
返回 下载 相关 举报
计算机科学与技术毕业论文设计LAMP系统构建.doc_第1页
第1页 / 共20页
计算机科学与技术毕业论文设计LAMP系统构建.doc_第2页
第2页 / 共20页
计算机科学与技术毕业论文设计LAMP系统构建.doc_第3页
第3页 / 共20页
计算机科学与技术毕业论文设计LAMP系统构建.doc_第4页
第4页 / 共20页
计算机科学与技术毕业论文设计LAMP系统构建.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《计算机科学与技术毕业论文设计LAMP系统构建.doc》由会员分享,可在线阅读,更多相关《计算机科学与技术毕业论文设计LAMP系统构建.doc(20页珍藏版)》请在三一办公上搜索。

1、 毕业论文 题 目 LAMP系统构建 学 院 物理与信息科学技术学院 姓 名 专 业 计算机科学与技术 学 号 281030151 指导教师 提交日期 2012年3月29日 原创性声明 本人郑重声明:本人所呈交的论文是在指导老师的指导下独立进行研究所取得的成果。学位论文中凡是引用他人已经发表或未经发表的成果、数据、观点等均已明确注明出处。除文中已经注明的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。 本声明的法律责任由本人承担。 论文作者签名: 年 月 日 论文指导教师签名: LAMP系统构建 摘要 随着信息技术的不断发展,网络技术的不断完善,各种服务类平台层出不穷。在这样的环境

2、下,Lamp系统架构应运而生了,并且经过不断的完善,俨然已成为国内外首屈一指的大型服务平台之一。 Lamp(Linux-Apache-MySQL-PHP)系统架构是目前国际流行的Web框架。该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,Lamp具有Web资源丰富、轻量、快速开发等特点;和微软的.NET架构相比,Lamp具有通用、跨平台、高性能、低价格的优势,因此Lamp无论是性能、质量还是价格都是企业搭建系统的

3、首选平台。本论文以centos6版本的Linux为基础,以Apache服务器作为Web服务器,选用高效简洁的Php语言作为主要编程语言,利用MySQL庞大的数据服务功能,共同组成实用、高效、跨平台的Lamp框架,为系统提供各种服务,同时也为各种中小型企业的网站开发等提供便利。在本论文的设计和实现过程中,本人充分考虑了Lamp自身的巨大优势,在满足各种类型需求者的基础上,不断对此平台进行加固和完善,保证各种功能的正常运行,为各种需求者提供最优质、最贴心的服务。关键字:centos6系统、LAMP PHP MYSQL Apache LAMP system builder Abstract With

4、 the continuous development of information technology, network technology continues to improve, and an endless stream of a variety of service class platform. In such an environment, Lamp system architecture came into being, and through continuous improvement, has become an at home and abroad leading

5、 large service platforms. Lamp (Linux-Apache-MySQL-PHP) system architecture is internationally popular Web framework. The framework includes: the Linux operating system, Apache web server, MySQL database, Perl, PHP or Python programming language, all the composition of the product is open source sof

6、tware is a mature architecture framework, many popular business applications have adopted this framework and Java/J2EE architecture Lamp has a rich Web resources, lightweight, fast development; and Microsoft. NET framework, Lamp has the advantage of universal, cross-platform, high performance, low p

7、rice, so Lamp regardless of is the platform of choice for performance, quality or price are business building systems. This thesis is based on centos6 version of Linux, the Apache server as a Web server, the choice of efficient and simple Php language as the primary programming language, MySQL huge

8、data service functions, composed of practical, efficient, cross-platform Lamp framework for the systemprovide various services, but also to facilitate site development for a variety of small and medium-sized enterprises. In this paper the design and implementation process, I take full account of the

9、 Lamp itself a huge advantage, and meet all types of needs based on constantly this platform to reinforce and improve the guarantee the normal operation of the various functions for all need to provide the highest quality and the most attentive service. Keyword:Centos6 system .LAMP PHP MySQL Apache

10、目录 1.绪论71.1课题背景和现实意义71.2软件介绍81.3LAMP的优点82.LAMP相关技术介绍82.1软件介绍82.1.1LAMP介绍82.2所用软件介绍93.LAMP系统架构103.1LAMP系统框架103.2LAMP 安装配置123.2.1配置环境123.2.2 安装apache133.2.3安装PHP133.2.4安装Mysql163.2.5安装 phpMyAdmin164.系统调优174.1系统调优的意义174.2度量调优184.3一些快速的内核调优措施215.参考文献256.结论261.绪论1.1课题背景和现实意义 随着科技的并不断发展,信息技术的不断革新,无论是国内外还是

11、各行各业,都基本上实现了与现代科学技术,尤其是信息技术的接轨,使得软件信息公司的竞争日益剧烈,而客户对软件和技术的要求是越来越严格。社会的压力和企业的竞争使得各种新软件的产生,而本论文所要研究的LAMP系统平台就应运而生了。随着现代企业与国际和信息现代化的接轨,对计算机软件和系统平台的要求日益提高,而新产生的LAMP平台正好满足了公司或者企业的需求,而它相对低廉的价格和高效的服务能力正好满足了企业的各种需要,而且已经普遍应用到各种类型的大小公司,基本上了实现了服务平台的垄断。本论文在这种大趋势的基础下,对LAMP系统平台进行了最基础的搭建,并且在搭建的基础上,对此平台所存在的不足之处采取了合理

12、的处理办法,比如对系统的运行速度和运转几率进行了调优,实现了系统调优,促进了此平台的正常运转。1.2软件介绍 选择合适的软件对于系统平台的整体性能影响很大。系统软件的选择包括操作系统的选择、web服务器的选择、编程语言的选择以及数据库的选择。Web服务器的设计过程中,网络操作系统的选择比硬件选择更重要,因为网络操作系统的更换需要大量的时间和昂贵的费用,而硬件只需在现有的服务器上添加或更改即可。 本论文的LAMP系统搭建选择了具有代表性的Linux+Apache+MySQL+PHP,进行简单的平台搭建。LAMP系统架构是目前国际流行的Web框架,该框架系统中包括:以centos6版的Linux作

13、为操作系统,Apache作为网络服务器,采用MySQL数据库,并以Perl、PHP或者Python编程语言进行开发。LAMP国际上成熟的架构框架,也是目前建站使用最多的框架。而本论文中LAMP系统平台的搭建是在虚拟机VMware的基础上安装centos6进行配置的。1.3LAMP的优点 作为开源架构的“黄金组合”,LAMP具有较强的稳定性和安全性且可以跨平台移植。其性能与Java/J2EE具有资源丰富、轻量、开发快捷的特点:与微软的。Net相比,具有高通用性、高性能、低价格、跨平台的优势。LAMP技术结构不仅能够满足系统的性能要求,而且能适应系统对网络大访问量的需要以及日益膨胀的数据库,保证系

14、统在重负之下保持稳定运行。除此之外,LAMP还具有以下优点:(1)恒温扩增,扩增阶段对仪器的要求低。(2)视觉直观检测,不需要检测仪。(3)反应速度快,敏感性高。(4)用多个引物,特异性好。因此现在很多流行的商业应用都采取这个架构。2.LAMP相关技术介绍2.1软件介绍2.1.1LAMP介绍 LAMP这个特定名词最早出现在1998年。当时,Michael Kunze为德国计算机杂志ct写作的一篇关于自由软件如何成为商业软件替代品的文章时,创建了LAMP这个名词,用来指代Linux 操作系统、Apache网络服务器、MySQL 数据库和PHP (Perl或Python)脚本语言的组合(由四种技术

15、的开头字母组成)。由于IT世界众所周知的对缩写的爱好,Kunze提出的LAMP这一术语很快就被市场接受。OReilly和MySQL AB更是在英语人群中推广普及了这个术语。随之LAMP技术成为了开源软件业的一盏真正的明灯。 2.2所用软件介绍 Linux:Linux 处在最低层,提供操作系统。其他每个组件实际上也在其上运行。但是,并不一定局限于Linux,如有必要,其他操作系统也可以实现,例如:Windows、Mac OS X 或 UNIX。本论文中所选用的linux系统是centos6. Apache:次低层是 Apache,它是一个 Web 服务器。Apache 提供可让用户获得 Web

16、页面的机制。Apache 是一款稳定的、支持关键任务的服务器,Internet 上超过 65% 的网站都使用它作为 Web 服务器。PHP 组件实际上是在 Apache 中,动态页面可以通过 Apache 和 PHP 创建。 MySQL:MySQL 提供 LAMP 系统的数据存储端。有了 MySQL,便可以获得一个非常强大的、适合运行大型复杂站点的数据库。在 Web 应用程序中,所有数据、产品、帐户和其他类型的信息都存放在这个数据库中,通过 SQL 语言可以很容易地查询这些信息。 Perl:Perl 是一种脚本语言。这表示它并不编译成可执行程序,而是在运行时进行解释的一组指令(脚本)。 Per

17、l 是代表“实际抽取和报告语言”(practical extraction and report language) 的字首组合词。Perl 被誉为语言中的“瑞士军刀”。它功能强大且非常灵活。语言学家 Larry Wall 在廿世纪八十年代后期在 NASA 担任系统管理员时开发了 Perl。他创建 Perl 的目的是使构建报告的任务变得更简单。 Perl 现在用来执行许多任务。它也许是用于在 Web 上进行 CGI(公共网关接口)编程最流行的语言。其原因就是 Perl 是一种功能非常强大的文本处理器,而 Web 编程主要就是文本处理。另外,使用 Perl 通常比使用 C/C+、Java 或 T

18、cl 更简单,而且它比 Python 更早出现。Perl被称为是一种“胶水语言”。所谓胶水语言,也就是说它是可以用来将许多元素连接在一起的语言。 Python:Python一种交互式面向对象的解释型编程语言。 Python使用非常清晰的语法实现非常强大的功能。它具有模块、类、意外处理以及非常高级别的动态数据类型和动态定义。并且,它具有接口和库函数供多种系统调用。内建模块还可以使用C或C+语言方便地编写。对于用户界面的编程,Python同样能够胜任。 Python可以运行在Linux 、UNIX、Windows、DOS、OS/2、Mac以及Amiga等等多种环境下。 Python虽然有版权,但完

19、全可以免费使用和分发,甚至是为了商业用途。PHP:php 是一门简单而有效的编程语言,它像是粘合剂,可以将 LAMP 系统所有其他的组件粘合在一起。您可以使用 PHP 编写能访问 MySQL 数据库中的数据和 Linux 提供的一些特性的动态内容。3.LAMP系统架构3.1LAMP系统框架Linux操作系统有很多个不同的发行版,如Red Hat Enterprise Linux、SUSE Linux Enterprice、Debian、Ubuntu、CentOS等,每一个发行版都有自己的特色,比如RHEL的稳定,Ubuntu的易用,基于稳定性和性能的考虑,操作系统选择CentOS(Commun

20、ity ENTerprise Operating System)是一个理想的方案。CentOS(Community ENTerprise Operating System)是Linux发行版之一,是RHEL/Red Hat Enterprise Linux的精简免费版,和RHEL为同样的源代码,不过,RHEL和SUSE LE等企业版,提供的升级服务均是收费升级,无法免费在线升级,因此要求免费的高度稳定性的服务器可以用CentOS替代Red Hat Enterprise Linux使用。而本论文所选择的操作系统就是centos6。 LAMP网站架构图Web服务器、缓存和PHP加速Apache是L

21、AMP架构最核心的Web Server,开源、稳定、模块丰富是Apache的优势。但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web服务器(例如nginx)高效,轻量级的Web服务器对于静态文件的响应能力来说远高于Apache服务器。Apache做为Web Server是负载PHP的最佳选择,如果流量很大的话,可以采用nginx来负载非PHP的Web请求。nginx是一个高性能的HTTP和反向代理服务器,Nginx以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx不支持PHP和CGI等动态语言,但支持负载均衡和容错,可和Apach

22、e配合使用,是轻量级的HTTP服务器的首选。Web服务器的缓存也有多种方案,Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。Squid Cache是一个Web缓存服务器,支持高效的缓存,可以作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,把Squid放在Apache的前端来缓存Web服务器生成的动态内容,而Web应用程序只需要适当地设置页面实效时间即可。如访问量巨大则可考虑使用memcache作为分布式缓存。PHP的加速使用eAccelerator加速器,eAccelerator是一个自由

23、开放源码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方

24、式运行,效率较高。3、nginx + Apache + PHP + eAccelerator此方案综合了nginx和Apache的优点,使用Apache负载PHP,nginx负责解析其他Web请求,使用nginx的rewrite模块,Apache端口不对外开放。数据库开源的数据库中,MySQL在性能、稳定性和功能上是首选,可以达到百万级别的数据存储,网站初期可以将MySQL和Web服务器放在一起,但是当访问量达到一定规模后,应该将MySQL数据库从Web Server上独立出来,在单独的服务器上运行,同时保持Web Server和MySQL服务器的稳定连接。当数据库访问量达到更大的级别,可以考

25、虑使用MySQL Cluster等数据库集群或者库表散列等解决方案。3.2LAMP 安装配置 3.2.1配置环境 操作系统:Centos6安装包:httpd2.2.22, mysql5.1.61,libxml2.6.16, zlib1.2.1.2,gd2.0.28, libpng1.2.7,php5.4.0; libxml2: xml解析库 zlib: 开源压缩库 gd: 图形库 libpng: 用来处理png图像格式文件的库 freetype: TrueType字体绘制引擎 ZendOptimizer: JPEG库: 3.2.2 安装apache 进入安装目录 $ yum install h

26、ttpd 设置成开机自动启动服务chkconfig -levels 235 httpd on启动apache service 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测试浏览

27、器输入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-mbstring php-odbc php-pear php-xml php-xmlrpc配置php安装信息, 配置安装后目录,模块动态配置,允许重写重配置 # 方式一 ./confi

28、gure -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/loc

29、al/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/lo

30、cal/php -with-apxs2=/usr/local/apache/bin/apxs -with-mysql=/usr/local/mysql/ -with-libxml-dir -enable-mbstring -with-gd=/usr/local/gd2/ -with-jpeg-dir=/usr/local/jpeg6/ -with-png -with-zlib-dir=/usr/lib -with-freetype-dir=/usr/local/freetype 这是让PHP支持GD库的配置选项 执行make安装 # make; make install 配置 httpd.co

31、nf让apache支持PHP # vi /usr/local/apache/conf/httpd.conf php安装完后会自动在httpd.conf加上下面一行(若无,请手动添加)LoadModule php5_module modules/libphp5.so 找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 重启apache $ service apache restart(ap

32、ache的rpm方式安装后网页存放目录是/var/www/html)修改权限$ chown -R apache:apache /var/www/ (-R表示子目录全部包含)(查看/etc/httpd/conf.d是否有php.conf文件,没有安装yum install php)测试/var/www/html写个php程序测试一下看看服务是否都开启$ vi /var/www/html/test.php 输入: 保存退出.浏览器中输入http:/ip地址/test.php就能看到web服务的相关信息了3.2.4安装Mysql mysql安装$ yum install mysql mysql-se

33、rver设置成开机自动启动服务$ chkconfig -levels 235 mysqld on启动mysql$ service mysql start 或者/etc/init.d/mysqld start设置mysql 的root密码$ mysql_secure_installation出现Enter current password for root 按回车 因为密码为空y 输入密码 password 然后一路回车 ,就可以对mysql进行成功配置了。在php测试网页中下拉到mysql信息 3.2.5安装 phpMyAdmin 导入rpmforge的GPG密钥:1 rpm import i

34、386 系统安装命令:2 yum install http:/pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm 现在可以安装phpMyAdmin如下:3 yum install phpmyadmin 4 现在,我们配置phpMyAdmin。改变Apache的配置,使phpMyAdmin连接,而不仅仅是从localhost(注释掉允许) :5 vi /etc/httpd/conf.d/phpmyadmin.conf 6 # 7 # Web application to manage MySQL

35、 8 # 9 # 10 # Order Deny,Allow 11 # Deny from all 12 # Allow from 127.0.0.1 13 # 14 Alias /phpmyadmin /usr/share/phpmyadmin 15 Alias /phpMyAdmin /usr/share/phpmyadmin 16 Alias /mysqladmin /usr/share/phpmyadmin 17 下一步,我们改变在phpMyAdmin的身份验证cookie ,HTTP:18 vi /usr/share/phpmyadmin/config.inc.php. 19 /*

36、Authentication type */ 20 $cfgServers$iauth_type = http; 21 . 重新启动Apache:22 /etc/init.d/httpd restart 之后,您可以根据访问phpMyAdmin http:/192.168.0.100/phpmyadmin/管理数据库了。5.结论通过本论文的研究过程,我认识了LAMP系统平台,并且在此平台的基础上不段深入研究和探讨,在成功搭建LAMP平台的基础上,不断的对Apache服务器、Php和MySQL数据库进行配置,在了解这些配置和安装信息的基础上,并且对此平台进行了系统进行了系统调优,使我对LINUX

37、系统有了更进一步的了解,尤其是centos6,在完成论文的基础上,实现了对知识的掌握和理解消化,对我今后的工作和学习打下了坚实的基础。 经测试,本论文中搭建的LAMP系统平台可以实现本论文所提到的基本功能,而且经过测试,发现了它的功能,符合LAMP系统平台的功能。通过此论文,我也深刻的认识到了LAMP系统平台的优势性,深刻的体会到了它的优越性。6.参考文献1丁革建.LAMP开发实践教程M . 中国铁道出版社2Mohammed J.Kabir.Apache Server系统管理员手册 M.电子工业出版社3黄栋 .Apache服务器配置与管理M . 清华大学出版社4尼春雨等. Linux操作系统基

38、础与实训教程M . 清华大学出版社5杨明华 .Linux系统与网络服务管理技术大全 M. 电子工业出版社6杨明华 . Linux命令、编辑器、shell编程实例大全 M . 人民邮电出版社7LukeWellingLauraThomsonphp mysqlweb开发M . 机械工业出版社8PHP100视频教程J/OL 网址:9杜波依斯. MySQL 权威指南 M . 机械工业出版社10王小东. 高性能MySQL M . 电子工业出版社相关软件下载http:/www.apache.org/ Lamp系统构建扩展阅读文献http:/www.williamlong.info/archives/1908.html

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号