导读 要求:httpd的动态和静态资源分为两台主机提供,mysql也用单独一台主机。httpd服务提供虚拟主机,一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress。安装使用xcache为php服务提速。
方案:1台主机作为httpd服务器,1台主机做php服务器,使用php-fpm模式,1台主机作为mysql数据库服务器

准备工作:三台主机,配置好yum源。

第一步:配置httpd服务器
1.yum安装httpd包
~]# yum install httpd

启动服务 测试是否能提供服务页面   httpd服务工作正常

2. 配置虚拟主机和定义动态页面转发到php服务器

注释掉主服务页面路径

~]# vim /etc/httpd/conf/httpd.conf

添加一个配置文件,用于定义虚拟主机和定义转发。

~]# touch /etc/httpd/conf.d/virtualhost.conf
~]# vim /etc/httpd/conf.d/virtualhost.conf

3. 测试虚拟主机
~]# touch /var/virtualhost/a/check.html
~]# vim /var/virtualhost/a/check.html

~]# touch /var/virtualhost/b/check.html
~]# vim /var/virtualhost/b/check.html

在访问测试的主机中定义将www.a.com和www.b.com解析为httpd服务器的ip地址 注:httpd-2.4:rpm包安装默认编译支持了fcgi模块;可以使用httpd -M查看已经加载的模块。

4.使用systemctl enable httpd.service将服务设置为开机启动
第二步:配置php服务器
1.yum安装php-fpm包
~]# yum install php-fpm

查看状态

2. 修改配置文件

~]# mkdir /var/lib/php/session
~]# chown apache:apache /var/lib/php/session
3. 启动服务,查看状态

4. 在php服务器的资源路径下添加测试页面并测试
~]# vim /var/phppage/a/check.php

~]# vim /var/phppage/b/check.php

访问

5.安装php-mysql包(php和mysql之间的通信协议)
~]# yum install php-mysql

然后重载一下服务

~]# systemctl reload php-fpm.service

6.使用systemctl enable php-fpm.service将服务设置为开机启动

第三步:配置mysql服务器
1.yum安装mariadb包
~]# yum install mariadb-server

2.启动服务

3.测试

创建一个测试用户和数据库 在php服务器上放置网页资源的路径下添加测试页面 访问测试

4.使用systemctl enable mariadb.service将服务设置为开机启动

LAMP搭建完成,可以正常提供服务。

第四步:用www.a.com,这个虚拟主机提供phpMyAdmin,用www.b.com这个虚拟主机提供wordpress
1.准备phpMyAdmin,wordpress的源码包

2.解压到放置页面资源的路径下
~]# unzip phpMyAdmin-4.4.14.1-all-languages.zip -d /var/phppage/a
3.编辑其配置文件

4.访问

已经可以访问了,但是发现页面有些地方无法显示。这是因为此页面是由动态资源和静态资源组成的,而httpd服务器只是把动态资源请求转发到php服务器了,静态资源是httpd提供,它现在资源路径下并没有此资源,所以此页面显示不全。原理可见下图 解决方案:在httpd服务器上的资源放置路径下同样放置一份phpMyAdmin源码文件,这样页面就可以显示完全了。 现在我们要访问phpMyAdmin这个页面时,需要在给出域名的同时还要指定url。这样太麻烦。 有两个方案可以解决。 第一个方案:修改虚拟主机的配置,修改DocumentRoot 路径 同时修改转发后的路径 DocumentRoot /var/virtualhost/a/phpMyAdmin-4.4.14.1-all-languages ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.0.132:9000/var/phppage/a/phpMyAdmin-4.4.14.1-all-languages/$1 然后使用httpd -t测试配置文件语法,再重载一下配置文件,就可以了 第二个方案:将所有phpMyAdmin源码文件直接放在DocumentRoot 路径下。php服务器则直接放在指定转发后的路径下。 布置wordpress

~]# unzip wordpress-4.3.1-zh_CN.zip -d /var/phppage/b
~]# ]# cp wp-config-sample.php wp-config.php
~]# vim wp-config.php

注意:这样wp用来登陆和使用的数据库用户需提前创建。 后续过程类似配置phpMyAdmin,就不重复了。

第五步:安装xcache,提高处理php请求速度
1.安装前先做一下压力测试

这次我们使用编译安装xcache 准备工作:下载一个xcache源码包,安装Development Tools和Server Platform Development包组。安装php-devel包。

2.开始编译

如果这一步没问题,执行make,然后执行make instal。 安装完成后,添加配置文件,然后让服务重载。

3.再做一次压力测试

对比两次压力测试可以看出,装了xcache以后,php请求处理速度提高3倍左右。

在CentOS 7 上搭建LAMP的更多相关文章

  1. 如何在CentOS 7上搭建LAMP环境(使用YUM或编译)

    什么是LAMP? LAMP是Linux,Apache,MySQL和PHP的缩写. 它是一堆应用程序的堆栈,它们在Web服务器上一起工作以托管网站. 话虽如此,每个程序都有不同的目的: 在LAMP中, ...

  2. 在CentOS 6上搭建私有的Docker Registry

    在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...

  3. CentOS Linux上搭建PPPoE服务器及拨号设置

    CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...

  4. CentOS 7.4搭建LAMP,LAMP:Linux、Apache、MySQL、PHP

    CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录: 第一部分 准备工作 第二部分 安装Apache服务 第三部分 安装MySQL服务 第四部分 搭建PH ...

  5. CentOS 7 yum搭建 LAMP

    CentOS 7 搭建LAMP环境 1. Apache 安装 Apache 的软件包名称叫做httpd,因此安装Apache,使用以下命令 [root@localhost ~]# yum -y ins ...

  6. CentOS下编译搭建LAMP环境

    搭建LAMP环境须知 搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装.但是在安装PHP之前,应先安装PHP5需要的最新 ...

  7. Linux(Centos)系统上搭建SVN以及常见错误解答

    本文主要介绍怎样在Centos上搭建SVN,文章内容比较基础,适合小白用户学习. 1.Linux版本Centos 6.5 查看linux版本命令: cat /etc/issue 2.查看本机上是否已经 ...

  8. CentOS 7 上搭建LNMP环境

    (转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...

  9. [转]在树莓派上搭建LAMP服务

    之前介绍过树莓派上LNMP环境的搭建方法,本文将详细介绍如何在树莓派上配置LAMP服务. 为LAMP,是最流行的服务器配置之一,LAMP的含义是: Linux - 操作系统 Apache - 网络服务 ...

随机推荐

  1. Android之POST方法的使用

    java代码 package xidian.dy.com.chujia; import android.os.Bundle; import android.os.Handler; import and ...

  2. json_decode详解

    json_decode是php5.2.0之后新增的一个PHP内置函数,其作用是对JSON 格式的字符串进行编码.    json_decode的语法规则:json_decode ( string $j ...

  3. Nginx 配置详解

    http://www.cnblogs.com/analyzer/articles/1377684.html 本文转自:http://blog.c1gstudio.com/archives/434 推荐 ...

  4. java中的hashcode

    hashcode的作用 对于包含容器类型的程序设计语言来说,基本上都会涉及到hashCode.在Java中也一样,hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包括 ...

  5. windows Server2008R2 每隔一段时间自动关机解决办法

    情况描述: “我的电脑-->右键属性”中显示“已激活”,而“管理工具”中显示未激活.系统中有进程wlms.exe. 网上找了下解决方式: 1.提权工具:PSTOOLS(下载地址:http://m ...

  6. 从Yii2的Request看其CSRF防范策略

    用ajax请求还是用命令行CURL请求总是会得到 http400:Bad Request的错误, 而如果用Web网页方式GET访问(去除verbFilter的POST限制),是正常的,是CSRF验证的 ...

  7. 【BZOJ】【1009】 【HNOI2008】GT考试

    DP/KMP/矩阵乘法 好神的题啊……跪了跪了 $n\leq 10^9$是什么鬼……我们还是先不要考虑这个鬼畜的玩意了>_> 用类似数位DP的思路,我们可以想到一个DP方程:$f[i][j ...

  8. windows进程/线程创建过程 --- windows操作系统学习

    有了之前的对进程和线程对象的学习的铺垫后,我们现在可以开始学习windows下的进程创建过程了,我将尝试着从源代码的层次来分析在windows下创建一个进程都要涉及到哪些步骤,都要涉及到哪些数据结构. ...

  9. MyISAM和InnoDB的索引在实现上的不同

    1 MyISAM只把索引载入内存,数据缓存依赖于操作系统,InnoDB把索引和数据都载入内存缓冲 2 MyISAM数据库中的数据是按照插入的顺序保存,在每个索引节点中保存对应的数据行的地址,理论上说主 ...

  10. FileStream文件流的读取和写入(为以后聊天工具的设计基础)

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...