在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
构建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
上述配置命令中,各选项的含义:
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网页能否正确显示
代码语言:javascript复制[root@localhost ~]# vim /usr/local/httpd/htdocs/test1.php
//在Apache服务器下存放测试配置文件,添加下列内容:
<?php
phpinfo(); //显示服务器的PHP环境信息
?>
客户机通过浏览器访问测试(建议使用谷歌或火狐浏览器):
客户机访问成功!!!
2)测试PHP网页能否访问MYSQL数据库
代码语言:javascript复制[root@localhost ~]# 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)解包并移动到网站目录
[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管理页面
五、使用PHPMyAdmin系统
1)创建新的库、新的表
2)表及数据记录的管理
3)直接执行MySQL查询语句
关于PHPMyAdmin系统介绍,这里就不多说了,有兴趣可以自己研究,毕竟是图形化,易于实现!