php餐饮网站,seo外包公司报价,公司网络平台搭建,加工活外放的正规公司5.1 LAMP平台概述 LAMP架构是目前成熟的企业网站应用模式之一#xff0c;指的是协同工作的一整套系统和相关软件#xff0c;能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词#xff0c;具体包括Linux操作系统#xff0c;Apache 网站服务器、MySQL数据库服务器指的是协同工作的一整套系统和相关软件能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词具体包括Linux操作系统Apache 网站服务器、MySQL数据库服务器PHP或Perl、Python)网页编程语言。 1.LAMP平台的构成组件 在LAMP平台的四个构成组件中每个组件都承担着一部分关键应用经过十几年的发展各 组件间的兼容性得到了不断的完善协作能力和稳定性也不断增强可以构建出非常优秀的Web应 用系统。各组件的主要作用如下。 Linux操作系统作为LAMP架构的基础提供用于支撑Web站点的操作系统能够与其他 三个组件提供更好的稳定性兼容性AMP组件也支持Windows,UNX等操作系统。 Apache网站服务器作为LAVP架构的前端是一款功能强大稳定性好的Web服务器程 序该服务器直接面向用户提供网站访问发送网页、图片等文件内容。 MySQL数据库服务器作为LAMP架构的后端是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中各种账户信息、产品信息、客户资料、业务数据等都可以存 储到MySQL数据库其他程序可以通过SQL语句来查询更改这些信息。 PHP/Perl/Python 网页编程语言作为三种开发动态网页的编程语言负责解释动态网页文 件并提供Web应用程序的开发和运行环境其中PHP是一种被广泛应用的开放源代码的多用途脚本语言它可以嵌入到HTML中尤其适合于Web应用开发。 2. LAMP平台的应用优势 构成LAMP平台的四个组件每个组件都经历了数十年之久的企业应用的考验各自都是同类 软件中的佼佼者从而成为典型的“黄金搭档”。其主要优势体现在以下几个方面。 成本低廉构成组件都是开放源代码的软件可以自由获得和免费使用在技术上和许可 证方面没有太严格的限制大大降低了企业的实施成本。 可定制拥有大量的额外组件和可扩展功能的模块能够满足大部分企业应用的定制需求 甚至可以自行开发添加新的功能。 易于开发基于LAMP平台的动态网站中页面代码简洁与HTML.标记语言的结合度非常 好即使是非专业的程序员也能够轻松读懂乃至修改网页代码。 方便易用PHP、Perl等属于解释性语言开发的各种Web程序不需要编译方便进行移植 使用。整套的网站项目程序通常只要复制到网站目录中就可以直接访问。 安全和稳定得益于开源的优势大量的程序员在关注并持续改进LAMP 平台的各个组 件发现的问题能够很快得到解决。LAMP架构已经历了数十年的长期验证在安全性和 稳定性方面表现得非常优秀。 在构建LAMP平台时各组件的安装顺序依次为Linux、Apache、MySQL、PHP。其中Apache和 MySQL的安装并没有严格的顺序而PHP环境的安装一般放到最后负责沟通Web服务器和数据库系统以协同工作。 5.2.1 安装PHP软件包
1准备工作 为了避免发生程序冲突等现象建议先将RPM方式安装的php及相关依赖包如果已存在卸载。例如根据实际安装情况可卸载php、php-cli、php-ldap、php-common.php-mysql等。另外需要安装zlib-devel和libxml2-devel包。
[rootnode01 ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps [rootnode01 ~]# mount /dev/cdrom /mnt/ //挂载 [rootnode01 ~]# rpm -ivh /mnt/Packages/zlib-devel-1.2.7-18.el7.x86_64.rpm [rootnode01 ~]# rpm -ivh /mnt/Packages/xz-devel-5.2.2-1.el7.x86_64.rpm [rootnode01 ~]# rpm -ivh /mnt/Packages/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm 2.安装扩展工具库
在实际企业应用中一部分基于PHP开发的Web应用系统会需要额外的扩展工具如数据加密 工具libmcrypt.mhash.mcrypt等可以从站点http//sourceforge.net下载。安装PHP软件包之前 应先安装好这些扩展工具程序。 去ftp下载
[rootnode01 ~]# mkdir php
[rootnode01 ~]# cd php/
[rootnode01 php]# ftp 172.16.37.13 ftp get libmcrypt-2.5.8.tar.gz ftp get mhash-0.9.9.9.tar.gz ftp get mcrypt-2.6.8.tar.gz ftp get zend-loader-php5.5-linux-x86_64_update1.tar.gz ftp get php-5.5.38.tar.gz ftp get phpMyAdmin-4.7.2-all-languages.tar.gz 1安装libmerypt
[rootnode01 php]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/ //解压
[rootnode01 php]# cd /usr/src/libmcrypt-2.5.8/
[rootnode01 libmcrypt-2.5.8]# ./configure //配置 [rootnode01 libmcrypt-2.5.8]# make //编译 [rootnode01 libmcrypt-2.5.8]# make install //安装 [rootnode01 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib 2安装mhash
[rootnode01 php]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[rootnode01 php]# cd /usr/src/mhash-0.9.9.9/
[rootnode01 mhash-0.9.9.9]# ./configure [rootnode01 mhash-0.9.9.9]# make [rootnode01 mhash-0.9.9.9]# make install [rootnode01 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib 3安装morypt
[rootnode01 php]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[rootnode01 php]# cd /usr/src/mcrypt-2.6.8/
[rootnode01 mcrypt-2.6.8]# ./configure [rootnode01 mcrypt-2.6.8]# export LD_LIBRARY_PATH/usr/local/lib //解决configure配置报错
[rootnode01 mcrypt-2.6.8]# ./configure [rootnode01 mcrypt-2.6.8]# make [rootnode01 mcrypt-2.6.8]# make install 3.编译安装PHP
1解包
将下载获得的PHP源码包解压并释放到/usr/src目录下切换到展开后的源码目录。
[rootnode01 php]# tar zxf php-5.5.38.tar.gz -C /usr/src/
[rootnode01 php]# cd /usr/src/php-5.5.38/ 2配置
在定制PHP的配置选项时最关键的是要指定httpd、mysqld的安装路径以便添加相关支持 设置使LAMP各组件协同工作除此之外还可以指定安装路径启用多字节支持、加密扩展支 持等。
[rootnode01 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
以下是配置结尾图 上述配置命令中各选项的含义如下。 --prefix指定将PHP程序安装到哪个目录下如/usr/local/php5。
--with-mcrypt加载数据加密等扩展工具支持。
--with-apxs2设置Apache HTTP Server提供的apxs模块支持程序的文件位置。
--with-mysql设置MySOL数据库服务程序的安装位置。
--with-mysqli添加 mysqli扩展支持。
--with-config-file-path设置PHP的配置文件php.ini将要存放的位置。
--enable-mbstring启用多字节字符串功能以便支持中文等代码。 3编译及安装
[rootnode01 php-5.5.38]# make [rootnode01 php-5.5.38]# make install 5.2.2 设置LAMP组件环境 设置LAMP组件环境主要包括对PHP的配置文件php.ini.Apache的配置文件httpd.conf的调整。 前者用来确定PHP的运行参数后者用来加载libphp5.so模块以便支持PHP网页。 1.php.ini 配置调整
1php.ini的建立及基本设置 安装好PHP软件包以后服务器并不会自动创建php.ini配置文件但在源码目录下提供了两个 样例配置文件分别对应于开发环境生产环境。 选择其中一个样例文件并复制到PHP的配置文件目录/usr/local/php5下并改名为php.ini。在php.ini 配置文件中以分号开头的内容表示注释信息。
[rootnode01 ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[rootnode01 ~]# grep -v ^; /usr/local/php5/php.ini | grep -v ^$ //查看复制过来的内容 通过修改php.ini文件中的配置内容可以控制PHP网页的执行特性.如是否允许用户上传文件、设置上传文件的大小限制、设置默认使用的字符集、加载额外的扩展模块等。如果没有特别要求可以直接沿用默认配置不做任何修改。
[rootnode01 ~]# vim /usr/local/php5/php.inidefault_charset utf-8
file_uploads On
upload_max_filesize 2M
max_file_uploads 20
post_max_size 8M
short_open_tag On
extensionphp_mysqli.dll 2)添加ZendGuardLoader优化模块 为了进一步提高PHP程序的执行效率优化页面加载速度可以为PHP 添加Zend公司开发的 ZendGuardLoader 优化模块若需要加密PHP代码以限制未经授权的分发还可以购买该公司的 ZendGuard 软件。 ZendGuardLoader优化模块适用于PHP5.3到PHP 5,6系列版本该模块可以从Zend公司的官方 站点http://www.zend.com下载.若使用PHP 5.2系列版本.应改用较早的ZendOptimizer。为PHP 安装及添加ZendGuardLoader 模块支持的过程如下所述。 将下载的ZendGuardLoader包解压缩并将源码目录下的模块文件复制到PHP程序的模块文件夹。
[rootnode01 ~]# cd php/
[rootnode01 php]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[rootnode01 php]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[rootnode01 zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ 修改php.ini 配置文件添加加载及启用ZendGuardlLoader.so模块的配置语句。
[rootnode01 ~]# vim /usr/local/php5/php.inizend_extension/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable1 2. httpd.conf配置调整 要使httpd 服务器支持PHP页面解析功能需通过LoadModule配置项加载PP程序的模块文件 并通过AddType配置项添加对“.php”类型网页文件的支持。除此之外还应修改Directorylndex配 置行添加 index.php配置项以识别常见的PHP首页文件。由于前面章节做虚拟Web 站点开启 了 include conf/extra/httpd-vhosts.conf 配置项所以本章中需要将其注释掉。
[rootnode01 ~]# vim /usr/local/httpd/conf/httpd.conf [rootnode01 ~]# /usr/local/httpd/bin/apachectl restart //重启服务
在上述配置内容中LoadModule行应该会在安装PHP的过程中自动添加其中的php5_mocule” 表示模块名称modules/libphp5.so表示模块文件位置。而AddType 行需要手动添加Directorylndex 行在原有基础上对其进行修改即可。 5.2.3测试LAMP协同工作 完成PHP相关软件的安装、调整配置以后应对其进行必要的功能测试以验证LAMP平台各 组件是否能够协同运作在网站根目录下创建相应的PHP测试网页然后通过浏览器进行访问根 据显示结果即可判断LAMP平台是否构建成功。 1.测试PHP网页能否正确显示 编写一个“.php”格式的测试网页文件使用PHP 内建的“phpinfo()”函数显示服务器的PHP 环境信息PHP代码应包括在“?php…”标记之间。将测试网页文件放置到网站根目录下如 /usr/local/httpd/htdocs/test1.php。
[rootnode01 ~]# vim /usr/local/httpd/htdocs/test1.php输入以下内容?php
phpinfo ();
?
通过浏览器访问测试网页如http//192.168.184.101/test1.php。若能够看到PHP程序的版本 号配置命令运行变量等相关信息如图中所示则表示此Web服务器已经能正常显示PHP网 页若还能看到Zend引擎相关信息则表示ZendGuardLoader模块也已成功启用。 2. 测试PHP网页能否访问MySQL数据库 编写一个测试网页文件test2.php添加简单的数据库操作命令用于验证与MySOL服务器的连 接、查询等操作.其中mysqli_comnect(”函数用于连接MySQL数据库需要指定目标主机地址. 以及授权访问的用户名、密码。
[rootnode01 ~]# vim /usr/local/httpd/htdocs/test2.php?php
$linkmysqli_connect(localhost,root,abc.123);
if($link) echo 恭喜你,数据库连接成功啦!!;
mysqli_close($link);
? 通过浏览器访问测试网页如http//192.168.184.101/test2.php.若能看到成功连接的提示信息。如图中所示则表示能够通过PHP网页访问MySOL数据库当使用了错误的用户名、密码 或者因 “mysqli-connect()”函数未运行而导致连接失败时执行时将会报错。 5.3.1部署phpMyAdmin系统 phpMyAdmin是一个使用PHP语言编写用来管理MySQL数据库的Web 应用系统通过该套件 提供的网页界面即便是对SQL语句不太熟悉的人也能够非常容易地对MySQL数据库进行管理和维护。 phpMyAdmin的源码包可以从其官方站点http//www.phpmyadmin,net 下载下面以多国语言版源码包phplMyAdmin-4.7.2-all-languages.tar.gz为例介绍phpMyAdmin 套件的部署过程。 1.解包并复制到网站目录 对于大部分PHP应用系统只需要解包后复制到网站目录下即可完成部署之后再根据需要调 整配置或者访问安装页面以完成进一步的安装。例如若要将phpMyAdmin套件部署到网站根目录 下以便通过站点http//192.168.184.101/phpMyAdmin进行访问可以参考以下内容。
[rootnode01 ~]# cd php/
[rootnode01 php]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz
[rootnode01 php]# mv phpMyAdmin-4.7.2-all-languages /usr/local/httpd/htdocs/phpMyAdmin 2.建立配置文件config.inc.php 将phpMyAdmin套件复制到网站目录以后还需要创建配置文件方可正常使用默认提供的样例 配置文件为config.sample.inc.php需参照该文件内容建立configi.inc.php配置文件。查找配置文件 中的blowfish_secret行默认已经设置了一个短语密钥此密钥用于网页cookie认证不需要用户 记忆可以根据需要自行修改。
[rootnode01 php]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[rootnode01 phpMyAdmin]# cp config.sample.inc.php config.inc.php 3.访问 phpMyAdmin的Web管理界面 在浏览器中访问http//192.168.184.101/phpMyAdmin如果能够看到phpMyAdmin系统的登录 界面如图中所示则表示部署成功使用MySQL数据库的用户不能是密码为空的用户登 录后即可在授权范围内对数据库进行管理。