第8章-LAMP平台部署及应用(一)
一、LAMP平台概述
【定义】:指的是协同工作的一整套系统和相关软件,能够提供动态web站点服务及其应用开发环境
【包括】:Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Pytho)网页编程语言
1、LAMP平台的构成组件
Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持windows、UNIX等平台)
Apache:作为LAMP架构的前端,是一款功能强大、稳定性好的web服务器程序,该服务器直接面向用户提供网站访问、发送网页、图片等文件内容
MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统
PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,并提供web应用程序的开发和运行环境。PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尢其适合于web应用开发
2、LAMP平台的应用优势
成本低廉、可定制、易于开发、方便易用、安全和稳定
二、构建PHP运行环境
【定义】:PHP即‘PHP Hypertext Preprocessor’(超级文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言
【优点】:PHP的语法混合了C、Jave、Perl以及部分自创的新语法,拥有更好的网页执行速度,PHP几乎支持所有流行的数据库,支持多种操作系统。
【前提条件】:已经编译安装好“Apahce HTTP Server”和“MySQL”数据库
(1)、安装PHP软件包
ØPHP项目最初由Rasums Lerdorf在1994年创建
Ø1995年发布第一个版本PHP1.0,目前已经更新到5.3.x版本了
1、准备工作
【卸载PHP及相关依赖包】
rpm -e php php-cli php-ldap php-common php-mysql --nodeps
2、安装扩展工具库
【安装libmcrypt(数据加密工具)】
tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src
cd /usr/src/libmcrypt-2.5.8
./configure
make && make install
ln -s /usr/local/lib/libmcrypt.* /usr/lib
【安装mhash(数据加密工具)】
tar zxf mhash-0.9.9.9.tar.gz -C /usr/src
cd /usr/src/mhash-0.9.9.9
./configure
make && make install
ln -s /usr/local/lib/libmhash* /usr/lib
【安装mcrypt(数据加密工具)】
tar zxf mcrypt-2.6.8.tar.gz -C /usr/src
cd /usr/src/mcrypt-2.6.8
./configure
make && make install
3、编译安装PHP
【解包】
tar zxf php-5.3.6.tar.gz -C /usr/src
cd /usr/src/php-5.3.6
【配置】:前提先安装“libxll2*”
./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/http/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 -enable-mbstring
《选项含义》:
--prefix:指定将PHP程序安装到哪个目录,如/usr/local/php5
--with-mcrypt:加载数据加密等扩展工具支持
--with-apxs2:设置“Apache HTTP Server”提供的apxs模块支持程序的文件位置
--with-mysql:设置MySQL数据库服务程序的安装位置
--with-config-file-path:设置PHP的配置文件php.ini将要存放的位置
--enable-mbstring:启用多字节字符串功能,以便支持中文等代码
【编译及安装】
make && make install
(2)、设置LAMP组件环境
1、php.ini配置调整
【php.ini的建立及基本配置】
a)查看样例配置文件
ls /usr/src/php-5.3.6/php.ini-*
/usr/src/php-5.3.6/php.ini-development /开发版样例文件,用于学习
/usr/src/php-5.3.6/php.ini-production /生产版样例文件,用于实际运营
b)复制样例到php的配置文件目录,并改名为php.ini
cp /usr/src/php-5.3.6/php.ini-development /usr/local/php5/php.ini
c)查看并过滤php.ini配置文件
grep -v “^;”/usr/local/php5/php.ini | grep -v “^$”
d)修改php.ini配置文件,可以控制php网页的执行特性
vim /usr/local/php5/php.ini
......//省略部分内容
default_charset=“utf-8” /设置默认字符集为utf-8
file_uploads=On /允许通过PHP网页上传文件
upload_max_filesize=2M /允许上传的文件大小限制
max_file_uploads=20 /每个http请求最多允许上传的文件数
post_max_size=8M /每次通过表单POST提交的数据量限制
short_open_tag=On /允许识别PHP短语法标记,即<?......?>
【添加Zend Guard Loader优化模块】
1)解包,并将模块文件复制到PHP程序的模块文件夹
tar zxf ZendGuardLoader-php-5.3-Linux-...tar.gz -C /usr/src
cd /usr/src/ZendGuardLoader-php-5.3.Linux-glibc23-i386 /php-5.3x/
cp ZendGuardLoader.so /usr/local/php5/lib/php/
2)修改php.ini配置文件,添加加载及启用ZendGuardLoader.so模块的配置语句
vim /usr/local/php5/php.ini
......//省略部分内容
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
2、httpd.conf配置调整
【修改httpd.conf配置文件】
vim /usr/local/httpd/conf/httpd.conf
......//省略部分内容
LoadModule php5_module modules/libphp5.so /这行会自动生成
AddType application/x-httpd-php .php /添加这一项
DirectoryIndex index.php index.html /添加这一项
【重启httpd服务】
service httpd restart
(3)、测试LAMP协同工作
1、测试PHP网页是否能正确显示
【编写一个“.php”格式的测试网页文件,并放置在网站根目录下】
vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo();
?>
【通过浏览器访问测试网页】
http://www.benet.com/test1.php
2、测试PHP网页能否访问MySQL数据库
【再编写一个测试网页,添加简单的数据库操作命令,用于验证与MySQL服务器的连接】
vim /usr/local/httpd/htdocs/test2.php
<?php
$link=mysql_connet(‘localhost’,‘root’,‘123456’); /连接数据库
if($link) echo “恭喜你,数据库连接成功”; /连接成功的反馈信息
mysql_close(); /关闭数据的连接
?>s
【通过浏览器访问测试网页】
http://www.benet.com/test2.php
三、LAMP架构应用实例
(1)、部署PhpMyAdmin系统
【定义】:phpMyAdmin是一个PHP语言编写,用来管理MySQL数据库的Web应用系统,通过该套软件提供的网页界面,即便是对SQL语句不太熟悉的人,也能够非常容易地对MySQL数据库进行管理和维护。
1、解包并复制到网站目录
tar zxf phpMyAdmin-3.3.10-all-languages.tar.gz
mv phpMyAdmin-3.3.10-all-laguages/ /usr/local/httpd/htdocs/phpMyAdmin
2、建立配置文件config.inc.php
cd /usr/local/httpd/htdocs/phpMyAdmin
cp config.sample.inc.php config.inc.php /config....是一个样例配置文件
vim config.inc.php
......//省略部分内容
$cfg[‘blowfish_secret’]=’123456’; 署/查找这一项,并设置一个短语密钥
3、访问phpMyAdmin的Web管理界面
http://www.benet.com/phpMyAdmin/
(2)、使用phpMyAdmin系统
1、创建新的库、新的表
2、表及数据记录的管理
3、直接执行MySQL查询语句