第五章 LAMP 平台部署及应用

LAMP平台概述

LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件.能够提供动态Web站点服务及其应用开发环境。LAMP是一-个缩写词,具体包括Linux操作系统.Apache网站服务器、MySQL数据库服务器.PHP《(或Perl、Python)网页编程语言。

在LAMP平台的四个构成组件中,每个组件都承担着一部分关键应用。经过十几年的发展,各组件间的兼容性得到了不断的完善,协作能力和稳定性也不断增强,可以构建出非常优秀的Web 应用系统。各组件的主要作用如下。

Linux操作系统:作为LAMP架构的基础.提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性.兼容性(AMP组件也支持 Windows、UNIX等操作系统)。

Apache网站服务器:作为LAMP架构的前端,是一款功能强大.稳定性好的Web服务器程序.该服务器直接面向用户提供网站访问,发送网页.图片等文件内容。

MySQL数据库服务器:作为LAMP 架构的后端,是一-款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息.产品信息.客户资料.业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询、更改这些信息。

PHP/Perl/Python网页编程语言:作为三种开发动态网页的编程语言.负责解释动态网页文件,并提供Web应用程序的开发和运行环境。其中,PHP是一种被广泛应用的开放源代码

安装PHP 软件包 
 为了避免发生程序冲突等现象,建议先将PPM方式安装的php及相关依赖包〈如果已存在)卸载
[root@Linux01 ~]# rpm -e php php-cli php-common php-mysql --nodeps

安装插件
[root@Linux01 ~]# rpm -ivh /mnt/Packages/zlib-devel-1.2.7-18.el7.x86_64.rpm 

[root@Linux01 ~]# rpm -ivh /mnt/Packages/xz-devel-5.2.2-1.el7.x86_64.rpm 

[root@Linux01 ~]# rpm -ivh /mnt/Packages/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm 

新建一个文件夹
[root@Linux01 ~]# mkdir php    //新建一个文件夹

[root@Linux01 ~]# cd php/    //进入这个文件夹
在 ftp 软件下载 /y2 /y2c  下载这几个软件包

然后解压
[root@Linux01 php]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/

[root@Linux01 php]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/

[root@Linux01 php]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/

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

查看解压的文件

切换到要配置的文件里面 然后配置

[root@Linux01 src]# cd libmcrypt-2.5.8/      //切换目录

[root@Linux01 libmcrypt-2.5.8]# ./configure      //配置


[root@Linux01 libmcrypt-2.5.8]# make       //编译


[root@Linux01 libmcrypt-2.5.8]# make install     //安装

[root@Linux01 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

安装第二个
[root@Linux01 libmcrypt-2.5.8]# cd ..
[root@Linux01 src]# ls

[root@Linux01 src]# cd mhash-0.9.9.9/

[root@Linux01 mhash-0.9.9.9]# ./configure    //配置

[root@Linux01 libmcrypt-2.5.8]# make         //编译


[root@Linux01 libmcrypt-2.5.8]# make install      //安装

[root@Linux01 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
第三个
[root@Linux01 mhash-0.9.9.9]# cd ..
[root@Linux01 src]# ls
debug         kernels          mcrypt-2.6.8   mysql-5.6.36
httpd-2.4.25  libmcrypt-2.5.8  mhash-0.9.9.9  php-5.5.38

[root@Linux01 src]# cd mcrypt-2.6.8/

[root@Linux01 mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib  //解决configure 配置报错

[root@Linux01 mhash-0.9.9.9]# ./configure    //配置

[root@Linux01 libmcrypt-2.5.8]# make         //编译


[root@Linux01 libmcrypt-2.5.8]# make install      //安装
PHP 的安装
[root@Linux01 mcrypt-2.6.8]# cd ..
[
[root@Linux01 src]# ls
debug         kernels          mcrypt-2.6.8   mysql-5.6.36
httpd-2.4.25  libmcrypt-2.5.8  mhash-0.9.9.9  php-5.5.38

[root@Linux01 src]# cd php-5.5.38/

配置
[root@Linux01 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

[root@Linux01 php-5.5.38]# make         //编译


[root@Linux01 php-5.5.38]# make install      //安装

设置 LAMP 组件环境

设置LAMP组件环境,主要包括对PHP的配置文件 php . ini 、 Apache的配置文件 httpd , conf 的调整。前者用来确定PHP的运行参数,后者用来加载l ibpho5 .so模块,以便支持PHP网页。

 php.ini配置调整

php . ini的建立及基本设置

安装好PP软件包以后,服务器并不会自动创建php . ini 配置文件.但在源码目录下提供了两个样例配置文件.分别对应于开发环境.生产环境。

 

 

选择其中-个样例文件,并复制到PIP的配置文件目录/usr /local/php5 下,并改名为php . ini。在php . ini配置文件中,以分号开头的内容表示注释信息。

[root@Linux01 php-5.5.38]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini

 

通过修改php . ini文件中的配置内容,可以控制PHP网页的执行特性.如是否允许用户上传文件.设置上传文件的大小限制、设置默认使用的字符集.加载额外的扩展模块等。如果没有特别要求.可以直接沿用默认配置,不做任何修改。

[root@Linux01 php-5.5.38]# vim /usr/local/php5/php.ini


default_charset = "utf-8"
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
post_max_size = 8M
short_open_tag = On
extension=php_mysqli.dll

[root@Linux01 php-5.5.38]# cd
[root@Linux01 ~]# cd php/
[root@Linux01 php]# ls
libmcrypt-2.5.8.tar.gz  mhash-0.9.9.9.tar.gz  phpMyAdmin-4.7.2-all-languages.tar.gz
mcrypt-2.6.8.tar.gz     php-5.5.38.tar.gz     
zend-loader-php5.5-linux-x86_64_update1.tar.gz


[root@Linux01 php]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/

[root@Linux01 php]# cd /usr/src/
[root@Linux01 src]# ls
debug         libmcrypt-2.5.8  mysql-5.6.36
httpd-2.4.25  mcrypt-2.6.8     php-5.5.38
kernels       mhash-0.9.9.9    zend-loader-php5.5-linux-x86_64


[root@Linux01 src]# cd zend-loader-php5.5-linux-x86_64/

[root@Linux01 zend-loader-php5.5-linux-x86_64]# ll
总用量 1600
-rwxrwxrwx 1 894 nobody  166679 11月 28 2016 opcache.so
-rwxrwxrwx 1 894 nobody    1820 11月 23 2016 README.txt
-rwxrwxrwx 1 894 nobody 1462703 11月 28 2016 ZendGuardLoader.so

[root@Linux01 zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/

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

[root@Linux01 zend-loader-php5.5-linux-x86_64]# vim /usr/local/php5/php.ini



zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

httpd.conf 配置调整

[root@Linux01 zend-loader-php5.5-linux-x86_64]# vim /usr/local/httpd/conf/httpd.conf

把159行开启

264 <IfModule dir_module>
265     DirectoryIndex index.html index.php
266 </IfModule>
267 AddType application/x-httpd-php .php

把491 这行注释掉

然后从启服务

[root@Linux01 zend-loader-php5.5-linux-x86_64]# /usr/local/httpd/bin/apachectl restart

测试PHP网页能否正确显示

编写一个“.php”格式的测试网页文件.使用PHP内建的“phpinfo()”函数显示服务器的PHP环境信息,PHP代码应包括在“<?php …>”标记之间。将测试网页文件放置到网站根目录下.如/usr / local /httpd /htdocs/test1 .php。

[root@Linux01 zend-loader-php5.5-linux-x86_64]# vim /usr/local/httpd/htdocs/testl.php



<?php
phpinfo();
?>


通过  http://192.168.186.30/testl.php  直接访问成功

测试PHP页面能否访问 MySQL 数据库

[root@Linux01 src]# cd /usr/local/httpd/htdocs/
[root@Linux01 htdocs]# ls
index.html  testl.php


[root@Linux01 htdocs]# vim test2.php


<?php
$link=mysqli_connect('localhost','root','123');
if($link) echo "恭喜你,数据库连接成功";
mysqli_close($link);
?>

测试结果

 

相关推荐

  1. LAMP部署应用

    2023-12-16 06:28:04       6 阅读
  2. LNMP架构应用部署

    2023-12-16 06:28:04       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-16 06:28:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-16 06:28:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-16 06:28:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-16 06:28:04       20 阅读

热门阅读

  1. x86上运行LoongArch的环境

    2023-12-16 06:28:04       45 阅读
  2. TCP标志位

    2023-12-16 06:28:04       39 阅读
  3. 5G基础设施:2024-2028年市场趋势与预测

    2023-12-16 06:28:04       36 阅读
  4. 华为云CodeArts Pipeline常见问答汇总

    2023-12-16 06:28:04       39 阅读
  5. 华为云CodeArts Check常见问答汇总

    2023-12-16 06:28:04       41 阅读
  6. 新时代商业市场:AR技术的挑战与机遇并存

    2023-12-16 06:28:04       41 阅读