第五章LAMP平台部署及应用

4 篇文章 0 订阅
3 篇文章 0 订阅

简介

在Internet中,要提供一台功能完整、可扩展性强的企业网站服务器,不仅需要有HTTP服务软件、数据库系统,也离不开动态网页程序的支持。

本章将以前面所学的Apache HTTP Server.MySOL数据库系统为基础,学习著名的网站架构—LAMP体系的构建及案例应用。(相关请查看WEB网站服务(一),WEB网站服务(二),MySQL数据库系统,MYSQL数据库的备份与恢复)

本章重点

PHP环境的安装与配置
构建phpMyAdmin应用系统

理论讲解
一、 LAMP平台概述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境,LAVMP是一个缩写词,具体包括Linux 操作系统、Apache网站服务器,MySOL数据库服务器、PHP(或Perl.Python)网页编程语言。

1.LAMP平台的构成组件

在LAMP平台的四个构成组件中,每个组件都承担着一部分关键应用。经过十几年的发展,各组件间的兼容性得到了不断的完善,协作能力和稳定性也不断增强,可以构建出非常优秀的Web应用系统.各组件的主要作用如下。

Linux操作系统:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AVMP组件也支持Windows.UNIX等操作系统)。

Apache网站服务器:作为LAMP架构的前端,是一款功能强大,稳定性好的Wlb服务器程序,该服务器直接面向用户提供网站访问,发送网页、图片等文件内容。

MySOL数据库服务器:作为LAMP架构的后端,是一款流行的开源关系数据库系统,在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySOL数据库,其他程序可以通过SOL 语句来查询、更改这些信息。

PHP/Perl/Python 网页编程语言:作为三种开发动态网页的编程语言,负责解释动态网页文件,并提供Web应用程序的开发和运行环境,其中,PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTVML中,尤其适合于Web应用开发。

2.LAMP平台的应用优势

构成LAMP平台的四个组件,每个组件都经历了数十年之久的企业应用的考验,各自都是同类软件中的佼佼者,从而成为典型的“黄金搭档”。其主要优势体现在以下几个方面。

成本低廉:构成组件都是开放源代码的软件,可以自由获得和免费使用,在技术上和许可证方面没有太严格的限制.大大降低了企业的实施成本。

可定制:拥有大量的额外组件和可扩展功能的模块,能够满足大部分企业应用的定制需求,甚至可以自行开发、添加新的功能。

易于开发:基于LAMP平台的动态网站中,页面代码简洁,与HTML标记语言的结合度非常好即使是非专业的程序员也能够轻松读懂乃至修改网页代码。

方便易用:PHP.Perl等属于解释性语言,开发的各种Web程序不需要编译,方便进行移植使用。整套的网站项目程序,通常只要复制到网站目录中,就可以直接访问。

安全和稳定:得益于开源的优势,大量的程序员在关注并持续改进LAMP平台的各个组件,发现的问题能够很快得到解决。LAMP架构已经历了数十年的长期验证,在安全性和稳定性方面表现得非常优秀。

在构建LAVMP平台时,各组件的安装顺序依次为Linux、Apache、MySOL、PHP。其中Apache和MySOL的安装并没有严格的顺序;而PHP环境的安装一般放到最后,负责沟通Web服务器和数据库系统以协同工作。

二、构建PHP运行环境

PHP即Hypertext Preprocessor(超级文本预处理语言)的缩写,是一种服务器端的HTM嵌入式脚本语言。PHP的语法混合了C、Java.Perl及部分自创的新语法,拥有更好的网页执行速度,更重要的是PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持UNX、Windows,Linux等多种操作系统。

本节将介绍如何构建PHP运行环境,以实现LAMP协同架构。其前提条件是服务器中已经编译安装好Apache HTTP Server和MySOL数据库,具体内容请参考之前的章节。

1.安装PHP软件包

PHP项目最初由Rasums Lerdorf在1994年创建,1995年发布第一个版本PHP1.0.本小节将以稳定版源码包php-5.5.38.tar.gz为例,该版本可以从PHP官方站点http://www.php.net下载.
下面介绍编译安装PHP相关软件包的基本过程。

2.安装扩展工具库

在实际企业应用中,一部分基于PHP开发的Web应用系统会需要额外的扩展工具,如数据加密工具libmcrypt.mhash,mcrypt等(可以从站点http://sourceforge.net下载)。安装PHP软件包之前。

1)首先安装依赖和准备环境

注:安装依赖需要在CentOS-7.4-x86_64-DVD-1708.iso光盘下安装

在这里插入图片描述

[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# yum -y install cmake ncurses-devel zlib-devel libxml2-devel

2)安装libmcrypt

在这里插入图片描述

[root@centos01 ~]# umount /mnt/
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos01 ~]# tar zxvf /mnt/libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/libmcrypt-2.5.8/
[root@centos01 libmcrypt-2.5.8]# ./configure && make && make install
[root@centos01 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib

3)安装mhash

[root@centos01 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib
[root@centos01 ~]# tar zxvf /mnt/mhash-0.9.9.9.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/mhash-0.9.9.9/
[root@centos01 mhash-0.9.9.9]# ./configure && make && make install
[root@centos01 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib

4)安装mcrypt

[root@centos01 ~]# tar zxvf /mnt/mcrypt-2.6.8.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/mcrypt-2.6.8/
[root@centos01 mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
//这里的export LD_LIBRARY_PATH=/usr/local/lib 是用来解决configure配置报错的
[root@centos01 mcrypt-2.6.8]# ./configure && make && make install

3.编译安装php-5.3.28
1)解包

    将下载获得的PHP源码包解压并释放到/usr/src目录下,切换到展开后的源码目录。
[root@centos01 ~]# tar zxvf /mnt/php-5.3.28.tar.gz -C /usr/src/

2)配置

在定制PHP的配置选项时,最关键的是要指定htpd,mysqld的安装路径,以便添加相关支持设置,使LAMP各组件协同工作。除此之外,还可以指定安装路径,启用多字节支持,加密扩展支持等。

[root@centos01 ~]# cd /usr/src/php-5.3.28/
[root@centos01 php-5.3.28]# ./configure --prefix=/usr/local/php --with-mcrypt  --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php

上述配置命令中,各选项的含义如下。
–prefix:指定将PHP程序安装到哪个目录下,如/usr/local/php
–with-mcrypt:加载数据加密等扩展工具支持。
–with-apxs2:设置Apache HTTP Server 提供的apxs模块支持程序的文件位置。
–with-mysql:设置MySOL数据库服务程序的安装位置。
–with-mysqli:添加mysqli扩展支持。
–with-config-file-path:设置PHP的配置文件php.ini将要存放的位置。
–enable-mbstring:启用多字节字符串功能,以便支持中文等代码。

配置完成

3)编译并安装

[root@centos01 php-5.3.28]# make && make install

编译的过程可能会需要较长时间,需耐心等待。若期间未出现错误,那么PHP程序的安装过程就基本完成了。接下来需要对LAMP组件环境进行适当的配置,并验证是否能够协同工作。

三、设置LAMP组件环境

设置LAMP组件环境,主要包括对P-P的配置文件php.ini.Apache的配置文件httpd.conf的调整。

前者用来确定PHP的运行参数,后者用来加载libphp5.so模块,以便支持PHP网页。

1.php.ini配置调整
1)php.ini的建立及基本设置

安装好PHP软件包以后,服务器并不会自动创建php.ini配置文件,但在源码目录下提供了两个样例配置文件,分别对应于开发环境,生产环境。

开发版样例文件,用于学习,测试

生产版样例,用于实际运营

本章节使用实际运营案例

选择实际运营案例文件,并复制到PHP的配置文件目录/usr/local/php下.并改名为php.ini。

[root@centos01 php-5.3.28]# cp php.ini-production /usr/local/php/php.ini

2)添加ZendGuardLoader 优化模块

为了进一步提高PHP程序的执行效率,优化页面加载速度,可以为PHP添加Zend公司开发的ZendGuardLoader 优化模块。若需要加密PHP代码以限制未经授权的分发,还可以购买该公司的ZendGuard软件。

ZendGuardLoader 优化模块适用于PHP5.3到PHP5.6系列版本,该模块可以从Zend公司的官方站点http://www.zend.com下载。若使用PHP5.2系列版本,应改用较早的ZendOptimizer。

为PHP安装及添加ZendGuardLoader模块支持的过程如下所述:

将下载的ZendGuardL.oader包解压缩,并将源码目录下的模块文件复制到PHP程序的模块文件夹

[root@centos01 ~]# tar zxvf /mnt/zendguardloader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/
[root@centos01 ZendGuardLoader-php-5.3-linux-glibc23-i386]# cd php-5.3.x/
[root@centos01 php-5.3.x]# cp ZendGuardLoader.so /usr/local/php/lib/php/

3)调整php主配置文件

添加加载及启用ZendGuardLoader.so模块的配置语句

 vim /usr/local/php/php.ini
[PHP]
zend_extension=/usr/local/php/lib/php/ZendGuardLoader.so
zend_loader.enable=1
default_charset = "utf-8"

在这里插入图片描述在这里插入图片描述

2.httpd.conf配置调整
1)zend加速模块

要使httpd服务器支持PHP页面解析功能,需通过LoadModule配置项加载PHP程序的模块文件,并通过AddType 配置项添加对“.php”类型网页文件的支持。除此之外,还应修改Directory/ndex配置行,添加index.php配置项,以识别常见的PHP首页文件。由于前面章节做虚拟Web站点,开启了Include conf/extra/httpd-vhosts,conf配置项,所以本章中需要将其注释掉。

[root@centos01 ~]# cp /usr/local/httpd/conf/httpd.conf /usr/local/httpd/conf/httpd.con.bak
[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf
 DirectoryIndex index.html index.php
 AddType application/x-httpd-php .php

在这里插入图片描述
在这里插入图片描述

在上述配置内容中LoadModule行应该会在安装PP的过程中自动添加.其中的php5 module表示模块名称:modules/libphp5.so”表示模块文件位置,而AddType行需要手动添加,Directoryndex行在原有基础上对其进行修改即可。

2)测试LAMP协同工作

完成PHP相关软件的安装、调整配置以后,应对其进行必要的功能测试,以验证LANMP平台各组件是否能够协同运作。在网站根目录下创建相应的PHP测试网页,然后通过浏览器进行访问,根据显示结果即可判断LAVMP平台是否构建成功。

要想测试PHP环境是否能够正常工作,需要建立一个使用PHP语言编写的网页文件,并通过httpd服务器发布,在浏览器中对其进行访问。由于PHP语言并非本章学习的重点,这里不做过多的讲解。

用于测试时,只需要建立一个简短的PHP测试文件即可。

1)在http网站默认主页创建测试文件

[root@centos01 ~]# vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>

2)重启服务

[root@centos01 ~]# systemctl stop httpd
[root@centos01 ~]# systemctl start httpd

3)测试

http://192.168.100.10/index.php

在这里插入图片描述
四、LAMP架构应用实例

在企业Web应用系统中,动态网站已经逐步成为主流,而基于LAVMP架构的Web动态网站更是其中的佼佼者。本节将介绍一个LAMP架构协同应用的实例—phpMyAdmin管理套件的部署及使用。

1.部署phpMyAdmin系统

phpMyAdmin 是一个使用PHP语言编写,用来管理MySOL数据库的Web应用系统。通过该套件提供的网页界面,即便是对SOL语句不太熟悉的人,也能够非常容易地对MySOL数据库进行管理和维护。

phpMyAdmin的源码包可以从其官方站点http://www.phpmyadmin.net下载。

1)解包并复制到网站目录

对于大部分PHP应用系统,只需要解包后复制到网站目录下即可完成部署,之后再根据需要调整配置,或者访问安装页面以完成进一步的安装。

[root@centos01 ~]# tar zxvf /mnt/phpmyadmin-3.3.10-all-languages.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/
[root@centos01 src]# mv phpMyAdmin-3.3.10-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin
[root@centos01 src]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@centos01 phpMyadmin]# cp config.sample.inc.php config.inc.php

将phpMyAdmin套件复制到网站目录以后,还需要创建配置文件方可正常使用。默认提供的样例配置文件为config.sample.inc.php.需参照该文件内容建立configi,inc.php配置文件。查找配置文件中的blowfish_secret行,默认已经设置了一个短语密钥(此密钥用于网页cookie认证,不需要用户记忆),可以根据需要自行修改。

2)访问phpMyAdmin的Web管理界面

在浏览器中访问http://www.bdqn.com/phpMyAdmin,如果能够看到phpMyAdmin系统的登录界面,则表示部署成功。使用MySOL数据库的用户(不能是密码为空的用户)登录后,即可在授权范围内对数据库进行管理。

http://192.168.100.10/ phpMyAdmin /

在这里插入图片描述

五、使用phpMyAdmin系统

使用phpMyAdmin系统之前,应先通过MySOL服务器中授权的数据库用户(如root用户)进行登录,认证成功后可以看到管理界面,如图5.4所示。通过phpMyAdmin套件,用户可以在授权的范围内执行各种数据库管理操作,使界面更加直观、友好,大大降低了远程维护MySOL数据库服务器的难度。
在这里插入图片描述

管理页面的初始界面是一个典型的分栏结构,左侧部分包括一排导航按钮(主页、退出、查询,帮助,SOL文档),库列表;右侧部分是主体窗口,其中显示了若干标签、操作面板、界面控制等组件,以及MySOL、网站服务器、phpMyAdmin的版本信息。

下面仅简单介绍phpMyAdmin系统中几个常见的数据库操作,更多的操作方法需要大家自行去探索和实践。

1.创建新的库、新的表

若要创建新的库,可以选择右侧的数据库”标签,然后在下方的‘新建数据库”区域进行操作,例如,指定新建的库名称为“bdqn,使用的校对规则选择“utf8_general_ci”,然后单击“创建”按钮即可新建bdqn库。

返回管理界面主页,选择左侧列表中新建的bdqn库,在“结构选项卡下方,可以输入新的表名、字段数,单击“执行”按钮;然后根据页面内容设置各字段的名称,类型(对于要包含中文数据的字段,类型应选用“文本”栏下的CHAR、VCHAR等)、长度等要素后,单击“保存”按钮即可新建指定的表。

2.表及数据记录的管理

选中指定库中的表,可以分别进行浏览数据、修改表结构、搜索数据、插入数据等操作

3.直接执行MySQL查询语句

选择SOL”选项卡,可以打开SOL查询页面,在该页面中,可以直接输入MySOL操作语句.并通过单击右下方的“执行”按钮来完成相应的管理任务。

六、实验案例

在这里插入图片描述
1.构建LAMP网站平台,支持PHP网页解析,并能够通过PHP网页使用MySQL数据库。
参考上述搭建LAMP平台,访问MySQL数据库
在这里插入图片描述
2.安装并配置phpMyAdmin 系统,使用数据库账号elcadmin登录。

1)使用root账户登录mysql数据库,授权elcadmin拥有所有权限

mysql> grant all on *.* to 'elcadmin'@'%' identified by 'pwd@123';
mysql> show geants for 'elcadmin'@'%';

在这里插入图片描述在这里插入图片描述

mysql数据库中的 mysql库中的user表默认会有两条user为null,删掉即可

mysql> delete from mysql.user where user='';

在这里插入图片描述

刷新数据库

mysql> flush privileges;

在这里插入图片描述 2)使用elcadmin登陆数据库

在这里插入图片描述

登录成功

在这里插入图片描述3.打开elcdb库,并在其中新建 struct表,录入相关数据。

1)新建elcdb库

mysql> create database eladb;

insert into eladb.struct value ( 'QN01','总裁办''公司决策人事及行政管理''5' );


mysql> insert into eladb.struct value ( 'QN05','信息技术中心','内部网络及服务器运行维护桌面支持','5');


mysql> insert into struct value ('QN02’,‘财务部’,'公司收支核算薪资管理’,'2’ );mysql> insert into struct value ( 'QN03’,‘品牌公关部’,‘企业形象宣传商务公关’,‘3’ );mysql> insert into struct value ( 'QN04’,‘市场服务部’,‘市场开拓及维护售前及售后咨
询’,‘15’ );
mysql> insert into struct value ( 'QN05’,‘信息技术中心’,‘内部网络及服务器运行维护桌面支持’,'5’);

在这里插入图片描述

2)新建struct表

mysql> create table eladb.struct(编号 char(20),部门名称 char(20),部门职责 charr(20),员工人数 char(3));

在这里插入图片描述

3)录入数据

mysql> insert into eladb.struct value ( 'QN01','总裁办','公司决策人事及行政管理','5' );
mysql> insert into eladb.struct value ( 'QN02','财务部','公司收支核算薪资管理','2');
mysql> insert into eladb.struct value ( 'QN03','品牌公关部','企业形象宣传商务公关','3');
mysql> insert into eladb.struct value ( 'QN04','市场服务部','市场开拓及维护售前及售后咨询','15');
mysql> insert into eladb.struct value ( 'QN05','信息技术中心','内部网络及服务器运行维护桌面支持','5');

在这里插入图片描述
在这里插入图片描述

mysql> mysql> select * from eladb.struct;

在这里插入图片描述

4.查看struct表的所有记录,并导出为SOL脚本文件,保存在D:\struct.sql文件夹中。

1)查看struct表

在这里插入图片描述

2)导出SQL脚本文件,保存在D:\struct.sql文件中

在这里插入图片描述在这里插入图片描述

实验完毕,本章到此结束

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值