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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

      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,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 缓存 NoSQL
Redis的安装教程(Windows+Linux)【超详细】
Redis的安装教程(Windows+Linux)【超详细】
Redis的安装教程(Windows+Linux)【超详细】
|
4天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
300 116
|
19天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
7天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
479 44
Meta SAM3开源:让图像分割,听懂你的话
|
14天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
691 222
|
2天前
|
Windows
dll错误修复 ,可指定下载dll,regsvr32等
dll错误修复 ,可指定下载dll,regsvr32等
135 95
|
12天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1695 158