阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS下LAMP平台部署及应用

596次阅读
没有评论

共计 6375 个字符,预计需要花费 16 分钟才能阅读完成。

在 Internet 中,要提供一台功能完整、可扩展性强的企业网站服务器,不仅需要有 HTTP 服务器软件、数据库系统,也离不开动态网页程序的支持。LAMP 平台很好的把这些服务,结合到了一起。作为企业运维人员是必须了解并且熟练掌握的。

LAMP 平台概述

LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态 Web 站点服务及其应用开发环境。

LAMP 平台的构成组件:

  • Linux 操作系统:作为 LAMP 架构的基础,提供用于支撑 Web 站点的操作系统,能够与其他三个组件提供更好的稳定性、兼容性(AMP 组件也支持 Windows、UNIX 等操作系统);
  • Apache 网站服务器:作为 LAMP 的前端,是一块功能强大、稳定性好的 Web 服务器程序,该服务器直接面向用户提供网站访问,发送网页、图片等文件内容;
  • MySQL 数据库服务器:作为 LAMP 架构的后端,是一款流行的开源关系型数据库;
  • PHP/Perl/Python 网页编程语言 作为三种开发动态网页的编程语言,负责解释动态网页文件,并提供 Web 应用程序的开发和运行环境。其中 PHP 是一种广泛应用的开放源代码的多用途脚本语言,它可以嵌入到 HTML 中,尤其适合于 Web 应用开发。

LAMP 平台的应用优势

构成 LAMP 平台的四大组件,每个组件都经历了数十年之久的企业应用的考验,各自都是同类软件中的佼佼者,从而成为典型的“黄金搭档”。其主要优势:

  • 成本低廉;
  • 可定制;
  • 易于开发;
  • 方便易用;
  • 安全和稳定。

在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP。其中 Apache 和 MySQL 的安装顺序并没有严格的顺序要求;但是 PHP 环境的安装一般放在最后,负责沟通 Web 服务器和数据库系统协同工作。

搭建 Apache 服务可以参考博文:CentOS 7 利用 Apache 搭建 Web 网站服务;
搭建 MYSQL 数据库服务可以参考博文:CentOS 7 编译安装 MySQL 数据库系统。

安装完成 APache、MySQL 服务并启动,搭建 PHP 是本次博客的重点!!!

安装 PHP 所需的源码包有:libmcrypt-2.5.8.tar.gz、mhash-0.9.9.9.tar.gz、mcrypt-2.6.8.tar.gz、php-5.5.38.tar.gz、zend-loader-php5.5-linux-x86_64_update1.tar.gz、phpMyAdmin-4.7.2-all-languages.tar.gz

—————————————— 分割线 ——————————————

可从以下信息得到下载:

点击这个 http://www.linuxidc.com/Linux/2013-12/93755.htm 链接 关注 Linux 公社官方微信,关注后回复数字160182。即可得到网友的分享密码。

如果取消关注 Linux 公社公众号,即使再次关注,也将无法提供本服务!

链接: https://pan.baidu.com/s/1hzr7J6InJLGcgqQTY0lwuw 密码:获得见上面的方法,地址失效请在下面留言。

—————————————— 分割线 ——————————————

构建 PHP 运行环境

PHP 即 Hypertext Preprocessor(超级文本预处理语言)的缩写,是一种服务器端的 HTML 嵌入式脚本语言。PHP 的语法混合了 C、Java、Perl 及部分自创的新语法,拥有更好的网页执行速度、更重要的是 PHP 支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且支持 UNIX、Windows、Linux 等多种操作系统。

一、安装 PHP 软件包

1)准备工作

为了避免发生程序冲突等现象,建议先将 RPM 方式安装的 php 及相关依懒包卸载,比如 php、php-cli、php-ldap、php-common、php-mysql 等。并且安装系统盘上存在的 zlib-devel、libxml2-devel 和 xz-devel RPM 包。

[root@localhost ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
错误:未安装软件包 php 
错误:未安装软件包 php-cli 
错误:未安装软件包 php-ldap 
错误:未安装软件包 php-common 
错误:未安装软件包 php-mysql
[root@localhost Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh xz-devel-5.2.2-1.el7.x86_64.rpm 
[root@localhost Packages]# rpm -ivh libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm 

2)安装扩展工具库

在现实企业环境中,一部分基于 PHP 开发的 Web 应用系统会需要额外的扩展工具,如数据加密工具 libmcrypt、mhash、mcrypt 等。(工具网盘链接已附在博客开头)安装 php 软件包之前应先安装这些数据加密工具,并做符号链接。

1. 安装 libmcrypt

[root@localhost ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/libmcrypt-2.5.8/
[root@localhost libmcrypt-2.5.8]# ./configure && make && make install
[root@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib

2. 安装 mhash

[root@localhost ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/mhash-0.9.9.9/
[root@localhost mhash-0.9.9.9]# ./configure && make && make install
[root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib

3. 安装 mcrypt

[root@localhost ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/mcrypt-2.6.8/
[root@localhost mcrypt-2.6.8]# ./configure
configure: error: *** libmcrypt was not found
//配置时出现这种错误,应该这样:[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
//修改环境变量
[root@localhost mcrypt-2.6.8]# ./configure && make && make install

3)编译安装 PHP

1. 解包(php 源码包资源已经附在博客开头)

[root@localhost ~]# tar zxf php-5.5.38.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/php-5.5.38/

2. 配置

[root@localhost php-5.5.38]# ./configure \
--prefix=/usr/local/php5 \
--with-mcrypt \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring

上述配置命令中,各选项的含义:
CentOS 下 LAMP 平台部署及应用

3. 编译及安装

[root@localhost php-5.5.38]# make && make install

安装时间较长耐心等待!

二、设置 LAMP 组件环境

1)php.ini 配置调整

1.php.ini 配置调整
安装好 PHP 软件包后,系统并不会自动创建 php.ini 配置文件,但在源码目录下提供两个样例配置文件:

/usr/src/php-5.5.38/php.ini-development                           // 开发版样例文件,用于学习、测试
/usr/src/php-5.5.38/php.ini-production                              // 生产办样例文件,用于实际运营

两个样例文件差不多,选择其中一个样例文件,并复制 php 的配置文件目录下,并改名为 php.ini(文件中以“;”开头的内容都表示注释信息)。

[root@localhost php-5.5.38]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[root@localhost php-5.5.38]# 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 段语法标记,<?……?>
extension=php_mysqli.dll                            // 添加 MySQL 支持

上述配置项,默认已经存在,修改即可!特别是“short_open_tag = Off”,筛选出来的第一个不是,第二个才是。

2. 添加 ZendGuardLoader
在现实环境中为了提高 PHP 程序的优化效率,优化页面的速度,可以为 PHP 添加 Zend 公司开发的 ZendGuardLoader 优化模块。(优化模块网盘链接已附在博客开头),需要注意的是本次实验提供的优化模块仅支持 PHP 5.3 到 PHP 5.6 系列的版本,如���需要别的优化模块版本,可以到官网 https://www.zend.com/ 下载合适的版本。

[root@localhost ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php
//将源码目录下的模块文件复制到 PHP 程序 i 的模块文件夹

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

[root@localhost ~]# vim /usr/local/php5/php.ini
…………                // 省略部分内容,添加以下内容
zned_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

2)httpd.conf 配置调整

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
// 修改 Apache 服务配置文件
………………                                                // 省略部分内容
LoadModule php5_module        modules/libphp5.so                 //Apache 调用 PHP 模块文件,默认存在,不用修改 
<IfModule dir_module>
DirectoryIndex index.html  index.php                                    // 添加以支持 index.php 的首页文件
</IfModule>
AddType application/x-httpd-php .php                                 // 手工添加,Apache 添加对 php 文件支持
[root@localhost ~]# systemctl restart httpd                             // 重新启动 httpd 服务

三、测试 LAMP 协同工作

在网站根目录下创建相应的 PHP 测试网页,然后通过浏览器进行访问,根据显示结果即可判断 LAMP 平台是否搭建成功!我们分别从 PHP 网页的解析、通过 PHP 页面访问 MySQL 数据库两个方面进行测试!

1)测试 PHP 网页能否正确显示

[root@localhost ~]# vim /usr/local/httpd/htdocs/test1.php
// 在 Apache 服务器下存放测试配置文件,添加下列内容:
<?php
phpinfo();                      // 显示服务器的 PHP 环境信息
?>

客户机通过浏览器访问测试(建议使用谷歌或火狐浏览器):
CentOS 下 LAMP 平台部署及应用
客户机访问成功!!!

2)测试 PHP 网页能否访问 MYSQL 数据库

[root@localhost ~]# vim /usr/local/httpd/htdocs/test2.php
<?php
$link=mysqli_connect('localhost','root','123456');                  // 连接 MySQL 数据库
if($link) echo "恭喜你,数据库连接成功!!!";                // 连接成功时,返回的消息
mysqli_close($link);                                                              // 关闭数据库连接
?>

客户机访问测试:
CentOS 下 LAMP 平台部署及应用

四、部署 PHPMyAdmin 系统

PHPMyAdmin 是一个使用 PHP 语言编写,用来管理 MYSQL 数据库的 Web 应用系统。通过该套件提供的网页界面,即使是对 SQL 语句不熟悉的人,也能够非常容易的对 MySQL 数据库进行管理和维护。

phpMyAdmin 源码包可从官网 https://www.phpmyadmin.net/ 下载;也可以使用博文开头提供网盘链接进行获取。

1)解包并移动到网站目录

[root@localhost ~]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/
[root@localhost src]# mv phpMyAdmin-4.7.2-all-languages/ /usr/local/httpd/htdocs/phpadmin

2)建立配置文件 config.inc.php

[root@localhost src]# cd /usr/local/httpd/htdocs/phpadmin/
[root@localhost phpadmin]# cp config.sample.inc.php config.inc.php

3)访问 PHPMyAdmin 的 Web 管理页面

CentOS 下 LAMP 平台部署及应用

五、使用 PHPMyAdmin 系统

1)创建新的库、新的表

CentOS 下 LAMP 平台部署及应用
CentOS 下 LAMP 平台部署及应用
CentOS 下 LAMP 平台部署及应用

2)表及数据记录的管理

CentOS 下 LAMP 平台部署及应用
CentOS 下 LAMP 平台部署及应用

3)直接执行 MySQL 查询语句

CentOS 下 LAMP 平台部署及应用

关于 PHPMyAdmin 系统介绍,这里就不多说了,有兴趣可以自己研究,毕竟是图形化,易于实现!

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6375字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7985923
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...