LAMP平台部署及应用(一)

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

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,如需转载请自行联系原作者
相关文章
|
3月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1012 1
|
5月前
|
存储 供应链 监控
如何开发一套供应商管理系统?(附架构图+流程图+代码参考)
本文介绍如何开发供应商管理系统,涵盖系统核心功能、业务流程、开发技巧及实现效果,助力企业提升采购效率与供应链管理水平。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
AI专业术语解析
本文围绕AI领域常见专业术语展开解析,涵盖基础概念、模型与算法、数据处理、生成式人工智能、自然语言处理等多个方面。基础概念类包括人工智能、机器学习、深度学习等,详细阐述其定义、原理及应用场景。模型与算法类涉及支持向量机、决策树、生成对抗网络等。数据处理类介绍了数据标注、特征工程、模型评估等。生成式人工智能相关术语有生成式AI、文本生成、图像生成等。自然语言处理方面涵盖分词、词向量、注意力机制等。此外,还解释了大模型、小样本学习、端到端、对齐等其他专业术语,为读者理解AI领域提供了全面且深入的参考。
1424 4
|
9月前
|
搜索推荐 Android开发 UED
信息检索系统评估指标的层级分析:从单点精确度到整体性能度量
本文深入探讨了信息检索系统(如搜索引擎)的评估机制,从用户行为特征出发,设计了一系列量化指标以衡量搜索结果的相关性和有效性。核心内容包括精确度(Precision)、Precision@K(聚焦前K个结果)、Average Precision@K(考虑位置权重)以及MAP@K(系统整体性能评估)。通过实际案例分析,展示了如何用这些指标评估搜索系统的质量,并强调高质量系统需在多维度上表现优异,以契合用户真实需求和行为模式。文章为优化信息检索系统提供了科学指导框架。
389 7
信息检索系统评估指标的层级分析:从单点精确度到整体性能度量
|
机器学习/深度学习 数据采集 人工智能
AI 大模型助力客户对话分析
该评测深入分析了“AI大模型助力客户对话分析”方案,涵盖实践原理、实施方法、部署过程、功能满足度及潜在改进空间。通过NLP和机器学习技术,方案能有效提升服务质量和客户体验,但针对特定行业需求尚需定制化开发。
|
资源调度 JavaScript 前端开发
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
这篇文章介绍了在Vue 2项目中如何通过`v-viewer`插件实现图片的预览、切换、缩放、旋转等功能,并提供了插件的安装、配置和使用方法。
4124 0
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
基于SIR模型的疫情发展趋势预测算法matlab仿真
该程序基于SIR模型预测疫情发展趋势,通过MATLAB 2022a版实现病例增长拟合分析,比较疫情防控力度。使用SIR微分方程模型拟合疫情发展过程,优化参数并求解微分方程组以预测易感者(S)、感染者(I)和移除者(R)的数量变化。![]该模型将总人群分为S、I、R三部分,通过解析或数值求解微分方程组预测疫情趋势。
|
NoSQL Ubuntu Linux
【操作系统】实验三 编译 Linux 内核
【操作系统】实验三 编译 Linux 内核
579 1
|
JSON API 数据安全/隐私保护
【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组国赛真题解析
【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组国赛真题解析
|
存储 安全
FreeRTOS入门教程(队列的概念及相关函数介绍)
FreeRTOS入门教程(队列的概念及相关函数介绍)
368 0