第五章 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);
?>
测试结果
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!