RHEL 5服务篇—LAMP平台的部署及应用-阿里云开发者社区

开发者社区> 开发与运维> 正文

RHEL 5服务篇—LAMP平台的部署及应用

简介:

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

LAMP平台的构成组件

Linux:作为LAMP架构的基础,提供用于支撑WEB站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性。

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

MySQL:做为LAMP架构的后端,是一款流行的开源关系数据库系统。

PHP:作为开发动态网页的编程语言,负责解释动态网页文件,并提供WEB用于程序的开发和运行环境。

在前面的几篇文章中,已经详细的讲解了如何安装Apache和MySQl了,所以在这里就不在详细的说了,现在只需要构建好PHP的运行环境就可以组成LAMP平台了。注意:在构建LAMP平台时,各组件的安装顺序依次为Linux、Apache、MySQl、PHP。其中Apache和MySQl的安装并没有严格的顺序;而PHP环境的安装一般放在最后,负责沟通WEB服务器和数据库系统以协同工作。



构建PHP运行环境

1、准备工作

如果该服务器上以前有安装过“.rpm”软件包的PHP,在此需要将其卸载掉,不然会出现程序冲突的情况。

[root@localhost /]#rpm -e php php-cli php-ldap php-common php-mysql --npdeps

下载php源码包,可以通过php官方站点http://www.php.net./downloads下载最新的源码包,作者在此使用的是5.3版本的。


2、安装扩展工具库

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

安装libmcrypt

[root@localhost media]#tar zxf libmcrypt-2.5.8.tar.gz -C /user/src/

[root@localhost media]#cd /usr/src/libmcrypt-2.5.8/

[root@localhost libmcrypt-2.3.8]#./configure  

[root@localhost libmcrypt-2.3.8]#make && make install

[root@localhost libmcrypt-2.3.8]#ln -s /usr/local/lib/libmcrypt.* /usr/lib/    

安装mhash

[root@localhost media]#tar zxf mhash-0.9.9.9.tar.gz -C /user/src/

[root@localhost media]#cd /usr/src/mhash-0.9.9.9/

[root@localhost libmcrypt-2.3.8]#./configure

[root@localhost libmcrypt-2.3.8]#make && make install

[root@localhost libmcrypt-2.3.8]#ln -s /usr/local/lib/libmhash* /usr/lib/

安装mcrypt

[root@localhost media]#tar zxf mcrypt-2.6.8.tar.gz -C /user/src/

[root@localhost media]#cd /usr/src/mcrypt-2.6.8/

[root@localhost libmcrypt-2.3.8]#./configure

[root@localhost libmcrypt-2.3.8]#make && make install

注意:只有安装完这三个扩展工具以后才可以安装PHP软件包,在安装这三个扩展工具时因注意安装顺序。


3、编译安装PHP

[root@localhost media]#tar zxf php-5.3.6.tar.gz -C /usr/src  

[root@localhost media]#cd /usr/src/php-5.3.6/  

[root@localhost php-5.3.6]#./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/lcoal/httpd/bin/a[xs --with-mysql=/usr/local/mysql --with-config-file-=ath=/usr/local/php5 --enable-mbstring

上述配置命令中,各选项的含义如下所述:

--prefix:指定将PHP安装到那个目录下。

--with-mcrypt:加载数据加密等扩展工具的支持。

--with-apxs2:设置Apache提供的apxs模块支持程序的文件位置。

--with-mysql:设置mysql数据库程序的安装位置。

--with-config-file-path:设置php的配置文件php.ini将要存放的位置。

--enable-mbstring:启用多字节字符串功能,以便支持中文等代码。

[root@localhost php-5.3.6]# make && make install   //编译并安装



设置LAMP组件环境

1、创建及调整配置文件

安装好PHP软件包以后,服务器并不会自己创建php.ini配置文件,但在源码目录下提供了两份样本文件,分别对应开发环境和生产环境。选择其中的一个样本文件,将其拷贝到php的配置文件目录下(/usr/lcoal/php5/),并改名为php.ini。

[root@localhost php-5.3.6]#cp php.ini-development /usr/local/php5/php.ini

我们可以通过修改php.ini文件中的配置内容,可以控制php网页的执行特性。如是否允许用户上传文件,设置上传文件的大小限制,设置默认使用的字符集,加载额外的扩展模块等。一般没有特殊要求,默认即可。  

[root@localhost /]#vim /usr/lcoal/php5/php.ini

......//省略比分内容

default-cahrset="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短语法标记,即<?........?>


2、添加ZendGuardLoader优化模块

为了进一步提高PHP程序的执行效率,优化页面加载速度,可以为PHP添加Zend公司开发的ZendGuardLoader优化模块。

[root@localhost media]#tar zxf ZendGuardLoader-php-5.3.6-linux-glibc23-i386.tar.gz -C /usr/src

[root@localhost media]#cd /usr/src/ZendGuardLoader-php-5.3.6-linux-glibc23-i386/php-5.3.x/

[root@localhost php-5.3.x]#cp ZendGuardLoader.so /usr/local/php5/lib/php/

修改php.ini配置文件,添加加载及启用ZendGuardLoader.so模块的配置语句。

[root@localhost php-5.3.x]#vim /usr/local/php5/php.ini

......//省略部分内容

zend_extension=/usr/lcoal/php5/lib/php/ZendGuardLoader.so

zend_loader.enable=1


3、修改httpd.conf配置文件,以支持php页面解析功能

要让httpd服务器支持php页面解析功能,需要通过LoadModule配置项加载PHP程序的模块文件,并通过AddType配置项添加对“.php”类型网页文件的支持。

[root@localhost php-5.3.6]#vim /usr/local/httpd/conf/httpd.conf

......//省略部分内容

LoadModule php5_module    modules/libphp5.so

AddType application/x-httpd-php    .php

DirectoryIndex index.php index.html

[root@localhost php-5.3.6]#/usr/local/httpd/bin/apachectl restart      //重启服务以更新配置

在上述配置内容,LoadModule行应该会在安装php的过程中自动添加,其中“php_module”表示模块名称;“modules/libphp5.so”是模块文件位置。而AddType行需要手动添加,DirectoryIndex行在原有基础上添加“index.php”即可。



测试PHP网页能否正确显示

编写一个“.php”格式的测试网页文件,使用php内建的“phpinfo()”,函数显示服务器的php环境信息,php代码应包括在“<?php................?>”标记之间。

[root@localhost /]#vim /usr/local/httpd/htdocs/test1.php

<?php

phpinfo();

?>

然后通过浏览器访问测试网页,若能看到Zend引擎相关的信息,则表示ZendGuardLoader模块也以启用成功了。

160446868.jpg


至此整个LAMP环境已经搭建成功,现在我们就可以在这台服务器上部署动态网站了,如何在LAMP环境上部署动态网站,请听下章讲解。



本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1216712,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章