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

CentOS下LAMP平台部署及应用

389次阅读
没有评论

共计 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、短信等云产品特惠热卖中