LAMP平台部署及应用(一)

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介:

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、访问phpMyAdminWeb管理界面

http://www.benet.com/phpMyAdmin/

(2)、使用phpMyAdmin系统

1、创建新的库、新的表

2、表及数据记录的管理

3、直接执行MySQL查询语句



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1203073,如需转载请自行联系原作者
相关文章
|
10月前
|
存储 供应链 监控
如何开发一套供应商管理系统?(附架构图+流程图+代码参考)
本文介绍如何开发供应商管理系统,涵盖系统核心功能、业务流程、开发技巧及实现效果,助力企业提升采购效率与供应链管理水平。
|
搜索推荐 Android开发 UED
信息检索系统评估指标的层级分析:从单点精确度到整体性能度量
本文深入探讨了信息检索系统(如搜索引擎)的评估机制,从用户行为特征出发,设计了一系列量化指标以衡量搜索结果的相关性和有效性。核心内容包括精确度(Precision)、Precision@K(聚焦前K个结果)、Average Precision@K(考虑位置权重)以及MAP@K(系统整体性能评估)。通过实际案例分析,展示了如何用这些指标评估搜索系统的质量,并强调高质量系统需在多维度上表现优异,以契合用户真实需求和行为模式。文章为优化信息检索系统提供了科学指导框架。
682 7
信息检索系统评估指标的层级分析:从单点精确度到整体性能度量
|
资源调度 JavaScript 前端开发
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
这篇文章介绍了在Vue 2项目中如何通过`v-viewer`插件实现图片的预览、切换、缩放、旋转等功能,并提供了插件的安装、配置和使用方法。
5297 0
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
|
机器学习/深度学习 数据采集 人工智能
AI 大模型助力客户对话分析
该评测深入分析了“AI大模型助力客户对话分析”方案,涵盖实践原理、实施方法、部署过程、功能满足度及潜在改进空间。通过NLP和机器学习技术,方案能有效提升服务质量和客户体验,但针对特定行业需求尚需定制化开发。
|
机器学习/深度学习 人工智能 Serverless
【深度学习】神经网络中的激活函数:释放非线性的力量
【深度学习】神经网络中的激活函数:释放非线性的力量
893 1
|
存储 安全
FreeRTOS入门教程(队列的概念及相关函数介绍)
FreeRTOS入门教程(队列的概念及相关函数介绍)
492 0
|
测试技术
appc认证
【6月更文挑战第2天】appc认证
711 0
|
JavaScript API UED
Vue3.0新特性解析与实战:Composition API、Teleport与Suspense
【4月更文挑战第6天】Vue3.0引入了颠覆性的Composition API,通过函数式方法提升代码可读性和复用性,例如`setup()`、`ref`等,便于逻辑模块化。实战中,自定义的`useUser`函数可在多个组件中共享用户信息逻辑。另外,Teleport允许组件渲染到DOM特定位置,解决模态框等场景的上下文问题。再者,Suspense提供异步组件加载的延迟渲染,使用fallback内容改善用户体验。这些新特性显著优化了开发和性能,适应现代Web需求。
596 0
|
druid Java 数据库连接
MyBatisPlus简介及案例
MyBatisPlus简介及案例
576 0
|
存储 网络协议 数据处理
异地远程访问连接家里的群晖NAS【内网穿透】
异地远程访问连接家里的群晖NAS【内网穿透】