前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LAMP 平台搭建详解

LAMP 平台搭建详解

作者头像
小手冰凉
发布2019-09-10 10:40:54
7170
发布2019-09-10 10:40:54
举报
文章被收录于专栏:小手冰凉小手冰凉

LAMP 架构是目前成熟的企业网站应用模式之一,能够提供动态 Web 站点服务及其应用开发环境。

LAMP 是一个缩写词,具体包括:

1、Linux 操作系统

2、Apache 网站服务器

3、MySQL 数据库服务器

4、PHP/Perl/Python 网页编程语言

这四个组件都是同类中的佼佼者,体现在:

1、成本低廉

2、可定制

3、易于开发

4、方便易用

5、安全和稳定

在构建 LAMP 平台时,各组件的安装顺序依次为:Linux、Apache、MySQL、PHP。其中 Apache 和 MySQL 的安装没有严格顺序;PHP一般放在最后,负责沟通 web 服务器和数据库系统。

https://cloud.tencent.com/developer/article/1501166 Apache 服务安装

https://blog.51cto.com/14227204/2425596 MySQL 服务安装(供参考,可自行选择)

https://pan.baidu.com/s/1bvWgs6--P_ja2QNf6E7IrQ 安装所需源码包

提取码: u3me

准备工作:

照旧先检查一下系统当前有无 rpm 安装的PHP包 rpm -qa | grep php ,如果有卸载掉

首先我们需要安装几个依赖包:

代码语言:javascript
复制
[root@mysql /]# mount /dev/sr0 /media/                    # 挂载系统光盘
mount: /dev/sr0 is write-protected, mounting read-only
[root@mysql /]# cd /media/Packages/
[root@mysql Packages]# rpm -ivh  zlib-devel-1.2.7-17.el7.x86_64.rpm 
xz-devel-5.2.2-1.el7.x86_64.rpm 
libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm 

安装扩展工具库,数据加密工具 libmcrypt、mhash、mcrypt 等

安装 libmcrypt:

代码语言:javascript
复制
[root@mysql media]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/libmcrypt-2.5.8/
[root@mysql libmcrypt-2.5.8]# ./configure && make && make install     # 一气呵成
[root@mysql libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/      # 创建链接文件方便系统识别

安装 mhash:

代码语言:javascript
复制
[root@mysql media]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/mhash-0.9.9.9/
[root@mysql mhash-0.9.9.9]# ./configure && make && make install
[root@mysql mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/

安装 mcrypt:

代码语言:javascript
复制
[root@mysql media]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@mysql media]# export LD_LIBRARY_PATH=/usr/local/lib
:$LD_LIBRARY_PATH                # 此条命令解决 configure 配置错误
[root@mysql media]# ./configure && make && make install

接下里编译安装 PHP:

代码语言:javascript
复制
[root@mysql media]# tar zxf php-5.5.38.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/php-5.5.38/
[root@mysql 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@mysql php-5.5.38]# make && make install     # 编译并安装
上述配置命令含义:
--prefix:指定将 PHP 程序安装到那个目录下
--with-mcrypt:加载数据加密等扩展工具支持
--with-apxs2:设置 Apache 提供的 apxs 模块支持程序的文件位置
--with-mysql:设置 MySQL 数据库服务程序的安装位置
--with-mysqli:添加 mysqli 扩展支持
--with-config-file-path:设置 PHP 的配置文件 php.ini 将要存放的位置
--enable-mbstring:启用多字节多字符串功能,以便支持中文等代码

设置 LAMP 环境:

安装好 PHP 软件包后,服务器不会自动创建 php.ini 配置文件,但是在源码包里面提供了两种样例配置文件:

代码语言:javascript
复制
/usr/src/php-5.5.28/php.ini-development        //  开发版样例文件,用于学习、测试
/usr/src/php-5.5.28/php.ini-production            // 生产版样例文件,用于实际运营

选择其中一个将其复制到 PHP 配置目录中

代码语言:javascript
复制
[root@mysql php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini
[root@mysql /]# 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 支持

ZendGuardLoader 优化模块,他可以提高 PHP 程序的执行效率、优化页面加载速度

这块可自行选择,不安装也不影响 PHP

添加 ZendGuardLoader 优化模块:

代码语言:javascript
复制
 [root@mysql media]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/                   
 [root@mysql media]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@mysql zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/           # 复制到 PHP 配置目录下
[root@mysql /]# vim /usr/local/php5/php.ini 
……     // 省略部分内容
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

httpd.conf 配置调整:

代码语言:javascript
复制
[root@mysql /]# vim /usr/local/httpd/conf/httpd.conf
……                         // 省略部分内容
LoadModule php5_module        modules/libphp5.so       # 确认配置文件中有此行
<IfModule dir_module>
    DirectoryIndex index.html   index.php            # 添加语句 index.php
</IfModule>
 AddType application/x-httpd-php .php             # 添加此语句
 注意:上述配置均不在同一处地方,需要查询

至此,PHP 基本安装完成了,接下来测试一下

编写一个 .php的测试网页文件,存放到网页文件根目录下

代码语言:javascript
复制
[root@mysql /]# vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo();
?>     

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

代码语言:javascript
复制
[root@mysql /]# vim /usr/local/httpd/htdocs/test2.php 
<?php
$link=mysqli_connect('localhost','root','123');        # 用于连接数据库的用户和密码
if($link) echo "koko!!";            # 此处是访问成功的显示文本
mysqli_close($link);
?>

最后一步,也是大多数网站必备的一步,就是网站的后台,通过web网页来管理MySQL数据库的,使用的是PHPMyadmin管理套件,源码包可以从官方站点 https://www.phpmyadmin.net/ 进行下载:

将解压后的源码包目录,移动到网站目录下,并改名为phpadmin:

代码语言:javascript
复制
[root@mysql media]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz -C /usr/local/httpd/htdocs/
[root@mysql media]# cd /usr/local/httpd/htdocs/
[root@mysql htdocs]# mv phpMyAdmin-4.7.2-all-languages phpmyadmin

复制到网站目录以后,还需要创建配置文件才可正常使用,可以使用样板config.sample.inc.php进行修改,把该文件名改为config.inc.php即可,文件内有一行“blowfish_secret”配置项,默认已经设置了一个短语密钥(此密钥用于网页cookie认证,不需我们记忆),可根据需要自己修改,我在这里只把文件名改一下,可以正常使用即可:

代码语言:javascript
复制
[root@mysql htdocs]# cd phpmyadmin/
[root@mysql phpmyadmin]# mv config.sample.inc.php config.inc.php 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档