导读 要求: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. 谈EntityFramework数据更新之技巧

    EntityFramework是一个很不错的ORM框架,一直都在使用.今天想跟大家分享以下EntityFramework数据更新方面的几个技巧: 1:如何new一个新实体去更新记录,而不是从数据库中查 ...

  2. Bootstrap系列 -- 20. 禁用状态

    Bootstrap框架的表单控件的禁用状态和普通的表单禁用状态实现方法是一样的,在相应的表单控件上添加属性“disabled” 在使用了“form-control”的表单控件中,样式设置了禁用表单背景 ...

  3. 使用jquery获取url及url参数的方法及定义JQuery扩展方法

    1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识. 2.jquery获取 ...

  4. [C#]AES加密算法实现

    密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分 ...

  5. VS快速格式化代码

    Ctrl+E,D快速对所有文档进行格式化 Ctrl+E,F快速对选中内容进行格式化

  6. Excel如何查找名字重复的数据

    来源于:http://jingyan.baidu.com/article/414eccf6091ff86b431f0aec.html Cokery今天在帮助同事整理数据的时候遇到了一个难题,就是在Ex ...

  7. Java 使用正则表达式

    用正则表达式来处理掉内容中的特定字符,下面的代码为,去掉P标签中的属性width 设置.将P标签处理后在拼接成字符串 /** * 给 P 标签去掉width 样式设置 * @param content ...

  8. ssh整合常见的错误

    1.报错信息:java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refres ...

  9. Java NIO、NIO.2学习笔记

    相关学习资料 http://www.molotang.com/articles/903.html http://www.ibm.com/developerworks/cn/education/java ...

  10. 内部类访问局部变量的时候,为什么变量必须加上final修饰

    这里的局部变量就是在类方法中的变量,能访问方法中变量的类当然也是局部内部类了.我们都知道,局部变量在所处的函数执行完之后就释放了,但是内部类对象如果还有引用指向的话它是还存在的.例如下面的代码: cl ...