导读 要求: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. 云计算之路-阿里云上:2014年6月12日14:40出现CPU 100%

    这是今天遇到的第2次故障,主站1台云服务器在14:40:33-14:41:09期间出现CPU突然跑满的状况,而CPU跑满之前,请求量并没有明显增长. 向阿里云提交之后,说晚上会对这台云服务器的虚拟机进 ...

  2. mysql基础 事务的认识和使用

    事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务是恢复和并发控制的基本单位. 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序 ...

  3. [wikioi2069]油画(贪心)

    题目:http://www.wikioi.com/problem/2069/ 分析: 首先这个问题比较复杂,涉及到两个重要的考虑点,一个是当前拿来的颜色是否保留,一个是若保留后那么应该把当前盘子的哪个 ...

  4. Linq之常见关键字

    目录 写在前面 系列文章 常见关键字 总结 写在前面 前面的几篇文章算是对linq的铺垫,从本篇开始将进行linq的语法及实践. 系列文章 Linq之Lambda表达式初步认识 Linq之Lambda ...

  5. metaspolit 基础

    在kali中使用metasploit,需要先开启PostgreSQL数据库服务和metasploit服务,然后就可以完整的利用msf数据库查询exploit和记录了.这一点比bt5要方便很多,所以现在 ...

  6. http状态码介绍

    基本涵盖了所有问题HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源HT ...

  7. Linux svn 回滚版本库

    Linux代码   svn up Index/ 然后找出要撤销的确切版本: Linux代码   svn log --limit 10 Index/tpl/css/global.css 根据log怀疑是 ...

  8. 使用nginx绑定域名,代理gitlab

    默认情况下,gitlab通过自带的unicorn来充当web页面的,不用nginx也可以,这里我们使用nginx代理vim /etc/yum.reos.d/nginx.repo # 编辑nginx.r ...

  9. [转]JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )

    这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有比较大的帮助.废话不想讲了.入主题: 先了解具体的概念:JAVA的JVM的内存可分为3个区:堆(h ...

  10. Oracle自定义函数1

    用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样,如max(value)函数,其中,value被称为参数.函数参数有3种类型. IN 参数类型:表示输入给函数的参数 ...