第十章 LAMP架构
10.1 LAMP简介
说到LAMP,实际是四项应用的简称,即:Linux、apache、MySQL、PHP。LAMP比较适合于互联网页企业的web服务部署,使用PHP语言编写网页,使用MySQL数据库存储数据,使用Linux及apache发布页面。当然在现今的服务部署中,M与P也有了些许变化,M也可以是MariaDB,P也可以是perl或python。
通过上几章的介绍,大家可能已经对web服务有了一定的了解。其实,我们讲到的apache php、tomcat都是为动态网站服务的。这就引出了动态网站、静态网站的概念。
动态网站:简单的讲就是页面上有与客户端进行数据交互的网站,如:登录、注册、查询等等功能,客户端都需要提交数据给页面,称为数据交互。
静态网站:对比就很了解了,即是没有数据交互的页面,可视为仅做资料、咨询查询的页面。
但是现今网络发展来看,一定是动态页面为主流,而动态页面的后台功能代码都是php、jsp、asp等语言编写的,所以都需要web服务器支持相关的语言。
下面我们就来演示一下LAMP的部署实验。
10.2 LAMP部署
其实LAMP的部署十分简单,只要把这几个服务都安装并配置好即可。
1、安装服务
yum -y install httpd mariadb maridb-server php php–mbstring php-mysql
注:因为本书中我们并未讲解mysql的安装配置过程,而mysql是一门专门的课程,安装、配置略麻烦。且centos的系统光盘上,默认自带的是mariadb数据库安装包,所以在这里我们使用mariadb作为实验的数据库工具,其实mariadb就是社区版mysql,服务配置、服务端口都一样,所以不影响实验配置,以下实验中大家会发现很多配置都有mysql的影子,因为二者其实可以视为是同一个。若有兴趣者,可以自行配置mysql服务以作实验
2、配置Mariadb
systemctl restart mariadb
mysql -u root ---以root用户登录进mariadb,由于没有密码,所以只是登录而已,并未真正打开任何数据库
>use mysql; ---指定使用mysql数据库,这里mysql是库名
>update user setpassword=password("123123") whereuser='root';
---配置用户root登录mysql库的密码
>flushprivileges; ---更新
>exit ---退出mariadb界面
systemctl restart mariadb
3、配置httpd支持php
vi /etc/httpd/conf/httpd.conf ---写入
AddType application/x-httpd-php .php ---让apache支持php应用找到 DirectoryIndex index.html 后追加 index.php
systemctl restart httpd
4、上传php动态页面
在这里,我从网上下载了一个论坛的php动态Discuz页面,现在上传上去,大家也可以自行下载搜索一个,这种资源在网上很多。PS:可以在windows下载完毕后,使用winscp工具上传。
注:Discuz是一种比较常用的动态页面的快速部署工具。
我所上传的文件如下:
三个文件夹都上传到Linux的/var/www/html下
chmod –R /var/www/html/* ---开放写权限并递归,安装Discuz要用
vi /etc/php.ini ---编辑php配置文件
找到:short_open_tag改为 On
PS:文件比较大,可以使用vi中的查找功能。
systemctl restart httpd
另外,客户端访问地址为:http://192.168.10.1/upload/index.php,但是Discuz页面需要先安装,如下图,页面内所有都是绿色对勾即可安装Discuz了。
安装时会要求指定数据库信息,需要输入正确的数据库地址、登录名、密码、库名等参数。注:我这个案例页面还要求输入论坛管理员的密码。
注:如果下一步时报连接拒绝,可以如下操作
systemctl stop mariadb
vi /etc/my.cnf ---写入
skip-grant-tables
systemctl start mariadb
客户端再次访问安装页面,执行安装即可
安装完毕,再次打开地址http://192.168.10.1/upload/index.php,即可打开论坛页面了。