在 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 网站服务 https://blog.51cto.com/14157628/2419895 ;
搭建 MySQL 数据库服务可以参考博文: CentOS 7 编译安装 MySQL 数据库系统 https://blog.51cto.com/14157628/2421146 .
安装完成 APache,MySQL 服务并启动, 搭建 PHP 是本次博客的重点!!!
安装 PHP 所需的源码包有:
libmcrypt-2.5.8.tar.gz 网盘链接: https://pan.baidu.com/s/1Hgq8lYgaldARPjFRb5k4ZQ
提取码: frfy
mhash-0.9.9.9.tar.gz 网盘链接: https://pan.baidu.com/s/12qK1bHzMHBP56Kw9wMgntg
提取码: 94q9
mcrypt-2.6.8.tar.gz 网盘链接: https://pan.baidu.com/s/1ZVqrWIvIn2WtnfoVtrWJdA
提取码: aquw
PHP-5.5.38.tar.gz 网盘链接: https://pan.baidu.com/s/1m2s2jRHWMzto6z-V-I7-TQ
提取码: do2o
zend-loader-php5.5-Linux-x86_64_update1.tar.gz 网盘链接: https://pan.baidu.com/s/1ow0B2KM-uU8TgkhCZWOQ-Q
提取码: zppz
phpMyAdmin-4.7.2-all-languages.tar.gz 网盘链接: https://pan.baidu.com/s/1N1oz74feJ9HBQQ58VeKrSQ
提取码: 4v2d
构建 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 包.
[[email protected] ~]# rpm -e PHP PHP-cli PHP-ldap PHP-common PHP-MySQL --nodeps
错误: 未安装软件包 PHP
错误: 未安装软件包 PHP-cli
错误: 未安装软件包 PHP-ldap
错误: 未安装软件包 PHP-common
错误: 未安装软件包 PHP-MySQL
- [[email protected] Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm
- [[email protected] Packages]# rpm -ivh xz-devel-5.2.2-1.el7.x86_64.rpm
- [[email protected] Packages]# rpm -ivh libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
2) 安装扩展工具库
在现实企业环境中, 一部分基于 PHP 开发的 Web 应用系统会需要额外的扩展工具, 如数据加密工具 libmcrypt,mhash,mcrypt 等.(工具网盘链接已附在博客开头) 安装 PHP 软件包之前应先安装这些数据加密工具, 并做符号链接.
1. 安装 libmcrypt
- [[email protected] ~]#
- [[email protected] ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src
- [[email protected] ~]# cd /usr/src/libmcrypt-2.5.8/
- [[email protected] libmcrypt-2.5.8]# ./configure && make && make install
- [[email protected] libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.*/usr/lib
2. 安装 mhash
- [[email protected] ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src
- [[email protected] ~]# cd /usr/src/mhash-0.9.9.9/
- [[email protected] mhash-0.9.9.9]# ./configure && make && make install
- [[email protected] mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash*/usr/lib
3. 安装 mcrypt
- [[email protected] ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src
- [[email protected] ~]# cd /usr/src/mcrypt-2.6.8/
- [[email protected] mcrypt-2.6.8]# ./configure
- configure: error: *** libmcrypt was not found
- // 配置时出现这种错误, 应该这样:
- [[email protected] mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
- // 修改环境变量
- [[email protected] mcrypt-2.6.8]# ./configure && make && make install
3) 编译安装 PHP
1. 解包 (PHP 源码包资源已经附在博客开头)
- [[email protected] ~]# tar zxf PHP-5.5.38.tar.gz -C /usr/src
- [[email protected] ~]# cd /usr/src/PHP-5.5.38/
2. 配置
[[email protected] 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
上述配置命令中, 各选项的含义:
3. 编译及安装
[[email protected] 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(文件中以 ";" 开头的内容都表示注释信息).
- [[email protected] PHP-5.5.38]# cp /usr/src/PHP-5.5.38/PHP.INI-development /usr/local/php5/PHP.INI
- [[email protected] 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 / 下载合适的版本.
- [[email protected] ~]# tar zxf zend-loader-php5.5-Linux-x86_64_update1.tar.gz -C /usr/src
- [[email protected] ~]# cd /usr/src/zend-loader-php5.5-Linux-x86_64/
- [[email protected] zend-loader-php5.5-Linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/PHP
- // 将源码目录下的模块文件复制到 PHP 程序 i 的模块文件夹
并修改 PHP.INI 配置文件, 添加加载及启用模块的配置语句.
- [[email protected] ~]# VIM /usr/local/php5/PHP.INI
- ............ // 省略部分内容, 添加以下内容
- zned_extension=/usr/local/php5/lib/PHP/ZendGuardLoader.so
- zend_loader.enable=1
2)httpd.conf 配置调整
- [[email protected] ~]# 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 文件支持
- [[email protected] ~]# systemctl restart httpd // 重新启动 httpd 服务
三, 测试 LAMP 协同工作
在网站根目录下创建相应的 PHP 测试网页, 然后通过浏览器进行访问, 根据显示结果即可判断 LAMP 平台是否搭建成功! 我们分别从 PHP 网页的解析, 通过 PHP 页面访问 MySQL 数据库两个方面进行测试!
1) 测试 PHP 网页能否正确显示
- [[email protected] ~]# VIM /usr/local/httpd/htdocs/test1.PHP
- // 在 Apache 服务器下存放测试配置文件, 添加下列内容:
- <?PHP
- phpinfo(); // 显示服务器的 PHP 环境信息
- ?>
客户机通过浏览器访问测试 (建议使用谷歌或火狐浏览器):
客户机访问成功!!!
2) 测试 PHP 网页能否访问 MySQL 数据库
- [[email protected] ~]# VIM /usr/local/httpd/htdocs/test2.PHP
- <?PHP
- $link=mysqli_connect('localhost','root','123456'); // 连接 MySQL 数据库
- if($link) echo "恭喜你, 数据库连接成功!!!"; // 连接成功时, 返回的消息
- mysqli_close($link); // 关闭数据库连接
- ?>
客户机访问测试:
四, 部署 PHPMyAdmin 系统
PHPMyAdmin 是一个使用 PHP 语言编写, 用来管理 MySQL 数据库的 Web 应用系统. 通过该套件提供的网页界面, 即使是对 SQL 语句不熟悉的人, 也能够非常容易的对 MySQL 数据库进行管理和维护.
phpMyAdmin 源码包可从官网 https://www.phpmyadmin.net/ 下载; 也可以使用博文开头提供网盘链接进行获取.
1) 解包并移动到网站目录
- [[email protected] ~]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz -C /usr/src
- [[email protected] ~]# cd /usr/src/
- [[email protected] src]# mv phpMyAdmin-4.7.2-all-languages/ /usr/local/httpd/htdocs/phpadmin
2) 建立配置文件 config.inc.PHP
- [[email protected] src]# cd /usr/local/httpd/htdocs/phpadmin/
- [[email protected] phpadmin]# cp config.sample.inc.PHP config.inc.PHP
3) 访问 PHPMyAdmin 的 Web 管理页面
五, 使用 PHPMyAdmin 系统
1) 创建新的库, 新的表
2) 表及数据记录的管理
3) 直接执行 MySQL 查询语句
关于 PHPMyAdmin 系统介绍, 这里就不多说了, 有兴趣可以自己研究, 毕竟是图形化, 易于实现!
来源: http://www.bubuko.com/infodetail-3133765.html