在CentOS 7 上搭建LAMP
| 导读 | 要求:httpd的动态和静态资源分为两台主机提供,mysql也用单独一台主机。httpd服务提供虚拟主机,一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress。安装使用xcache为php服务提速。 |
准备工作:三台主机,配置好yum源。 
~]# yum install httpd
启动服务
测试是否能提供服务页面
httpd服务工作正常
注释掉主服务页面路径
~]# vim /etc/httpd/conf/httpd.conf
添加一个配置文件,用于定义虚拟主机和定义转发。
~]# touch /etc/httpd/conf.d/virtualhost.conf
~]# vim /etc/httpd/conf.d/virtualhost.conf

~]# 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查看已经加载的模块。 
~]# yum install php-fpm
查看状态 

~]# mkdir /var/lib/php/session
~]# chown apache:apache /var/lib/php/session

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

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

~]# yum install php-mysql
然后重载一下服务
~]# systemctl reload php-fpm.service
6.使用systemctl enable php-fpm.service将服务设置为开机启动
~]# yum install mariadb-server


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

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

~]# unzip phpMyAdmin-4.4.14.1-all-languages.zip -d /var/phppage/a

已经可以访问了,但是发现页面有些地方无法显示。这是因为此页面是由动态资源和静态资源组成的,而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 准备工作:下载一个xcache源码包,安装Development Tools和Server Platform Development包组。安装php-devel包。
如果这一步没问题,执行make,然后执行make instal。 安装完成后,添加配置文件,然后让服务重载。 
对比两次压力测试可以看出,装了xcache以后,php请求处理速度提高3倍左右。
在CentOS 7 上搭建LAMP的更多相关文章
- 如何在CentOS 7上搭建LAMP环境(使用YUM或编译)
什么是LAMP? LAMP是Linux,Apache,MySQL和PHP的缩写. 它是一堆应用程序的堆栈,它们在Web服务器上一起工作以托管网站. 话虽如此,每个程序都有不同的目的: 在LAMP中, ...
- 在CentOS 6上搭建私有的Docker Registry
在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...
- CentOS Linux上搭建PPPoE服务器及拨号设置
CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...
- CentOS 7.4搭建LAMP,LAMP:Linux、Apache、MySQL、PHP
CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录: 第一部分 准备工作 第二部分 安装Apache服务 第三部分 安装MySQL服务 第四部分 搭建PH ...
- CentOS 7 yum搭建 LAMP
CentOS 7 搭建LAMP环境 1. Apache 安装 Apache 的软件包名称叫做httpd,因此安装Apache,使用以下命令 [root@localhost ~]# yum -y ins ...
- CentOS下编译搭建LAMP环境
搭建LAMP环境须知 搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装.但是在安装PHP之前,应先安装PHP5需要的最新 ...
- Linux(Centos)系统上搭建SVN以及常见错误解答
本文主要介绍怎样在Centos上搭建SVN,文章内容比较基础,适合小白用户学习. 1.Linux版本Centos 6.5 查看linux版本命令: cat /etc/issue 2.查看本机上是否已经 ...
- CentOS 7 上搭建LNMP环境
(转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...
- [转]在树莓派上搭建LAMP服务
之前介绍过树莓派上LNMP环境的搭建方法,本文将详细介绍如何在树莓派上配置LAMP服务. 为LAMP,是最流行的服务器配置之一,LAMP的含义是: Linux - 操作系统 Apache - 网络服务 ...
随机推荐
- 『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布
项目原因: 参与过各种 分布式项目,有 Socket,Remoting,WCF,当然还有最常用的可以跨平台的 WebService. 分布式编码的时间浪费: 但是,无一例外的,开发分布式程序的开发遵循 ...
- EF实体框架之CodeFirst三
前两篇博客学习了数据库映射和表映射,今天学习下数据库初始化.种子数据.EF执行sql以及执行存储过程这几个知识. 一.数据库初始化策略 数据库初始化有4种策略 策略一:数据库不存在时重新创建数据库 D ...
- css3动画 bug 2点
1. .myanimate{ transition-property: left;transition-duration: .3s;transition-timing-function: ease } ...
- Unity3D独立游戏开发日记(一):动态生成树木
目前写的独立游戏是一个沙盒类型的游戏.游戏DEMO视频如下: 提到沙盒类型的游戏,就有人给出了这样的定义: 游戏世界离现实世界越近,自由度.随机度越高才叫沙盒游戏.所谓自由度,就是你在游戏里想干啥就干 ...
- 第四十四课:jQuery UI和jQuery easy UI
jQuery UI是jQuery官方提供的功能效果和UI样式.作为官方出的东西,它一直没有被人们看重,一是它没有datagrid,tree等UI库必备的东西,二是它修改太过频繁,体积庞大.其实它所有以 ...
- Red Hat Linux9命令行--修改补充中
1.使用rpm工具安装应用软件:rpm [选项] [软件包名] 常用的参数及含义如下图所示: 2.编译安装应用软件 (1).tar.gz和.tgz使用如下的命令: [root@myhost ro ...
- java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStreamsJavamail问题
异常描述如下: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineI ...
- ansible 小试身手
我们安装好了ansible之后 配置了免密码登陆 现在我们可以检查一下管理主机和被管理主机的连通性 ansible all -m ping 在我们的实际生产中我们倾向于使用普通用户用sud ...
- Java 工程师的学习线路图。
今天了一个超级好用的工具,思维导图 FreeMind,于是顺道试用了一下,照着画了一张 Java 工程师的学习线路图.
- Myeclipse报PermGen space异常的问题
最好用的方法: 1)在myeclipse中windos——>preference——>Myeclipse——>servers——>Tomcat——>JDK(Optiona ...