LAMP的分布式实现——安装WordPress、phpMyAdmin

题目:分别用三台CentOS 7主机部署 httpd、php-fpm、mariadb

第一台 192.168.10.101    --> httpd
第二台 192.168.10.102    --> php-fpm
第三台 192.168.10.103    --> mariadb

开始之前先把selinux、iptables给关闭了,方便测试。

# iptables -F
# setenforce 0

从第一台开始配置。

#安装httpd

[[email protected] ~]# yum -y install httpd

#配置虚拟主机

DirectoryIndex index.php

<VirtualHost *:80>
    ServerName www.a.com    # 配置第一台虚拟主机
    DocumentRoot "/apps/vhosts/a.com"
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.10.102:9000/apps/vhosts/a.com/$1
    <Directory "/apps/vhosts/a.com">
        Options None
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.b.net    # 配置第二台虚拟主机
    DocumentRoot "/apps/vhosts/b.net"
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.10.102:9000/apps/vhosts/b.net/$1
    <Directory "/apps/vhosts/b.net">
        Options None
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

#创建资源映射目录

[[email protected] ~]# mkdir -pv /apps/vhosts/{a.com,b.net}

#注释掉中心主机的文档根路径

#DocumentRoot "/var/www/html"

#检查语法

[[email protected] ~]# httpd -t
Syntax OK

#启动httpd服务进程

[[email protected] ~]# systemctl start httpd.service                                                       :::*                  
[[email protected] ~]# ss -tnl | grep 80
LISTEN     0      128         :::80                      :::*

#创建静态资源文件,作为测试用

[[email protected] ~]# vim /apps/vhosts/a.com/index.html
<h1> www.a.com </h1>

[[email protected] ~]# vim /apps/vhosts/b.net/index.html
<h1> www.b.net </h1>

#修改hosts文件

# vim /etc/hosts
192.168.10.101  www.a.com www.b.net www.c.org

#确保httpd有装载fcgi模块

[[email protected] ~]# httpd -M | grep fcgi
 proxy_fcgi_module (shared)

配置第三台主机。

#安装数据库

[[email protected] ~]# yum -y install mariadb-server

#启动起来

[[email protected] ~]# systemctl start mariadb.service
[[email protected] ~]# ss -tnl | grep 3306
LISTEN     0      50           *:3306                     *:*

#授权用户及创建数据库

[[email protected] ~]# mysql
MariaDB [(none)]> GRANT ALL ON wpdb.* TO [email protected]‘192.168.%.%‘ IDENTIFIED BY ‘wppass‘;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> CREATE DATABASE wpdb;

配置第二台主机。

#要安装php-fpm以及php-mysql

[[email protected] ~]# yum -y install php-fpm php-mysql

#修改配置文件

[[email protected] ~]# vim /etc/php-fpm.d/www.conf
listen = 192.168.10.102:9000    # 监听在本机的网络接口上
listen.allowed_clients = 192.168.10.101    # 允许第一台主机连接
# 其它的默认不变

#创建资源映射目录

[[email protected] ~]# mkdir -pv /apps/vhosts/{a.com,b.net}

#写入php连接数据库的测试代码

<h1> 第2台虚拟主机 </h1>
<?php
    $conn = mysql_connect(‘192.168.10.103‘,‘wpuser‘,‘wppass‘);
    if($conn)
        echo "OK"
    else
        echo "Failure"
?>

#启动php-fpm服务进程

[[email protected] ~]# systemctl start php-fpm
[[email protected] ~]# ss -tnl | grep 9000
LISTEN     0      128    192.168.10.102:9000                     *:*

#安装php-xcache加速器

[[email protected] ~]# yum -y install php-xcache

#测试没有问题之后,现在可以开始在第二台主机上部署WordPress和phpMyAdmin程序了

#首先搞定WordPress

#从官网下载WordPress压缩包

[[email protected] ~]# wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.zip

#下载后解压,并移至资源映射目录路径下

[[email protected] ~]# unzip wordpress-4.7.4-zh_CN.zip
[[email protected] ~]# mv wordpress /apps/vhosts/a.com

#cd进该目录,并复制样本配置文件wp-config-sample.php为wp-config.php

[[email protected] ~]# cd /apps/vhosts/a.com/wordpress/
[[email protected] wordpress]# cp wp-config-sample.php wp-config.php

#修改配置文件wp-config.php,这里需要修改的数据库信息来自刚才在第三台主机上建立的数据库名、用户名和密码。

[[email protected] wordpress]# vim wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define(‘DB_NAME‘, ‘wpdb‘);    # 修改数据库名字,使用刚才在第三台主机上创建的数据库

/** MySQL数据库用户名 */
define(‘DB_USER‘, ‘wpuser‘);    # 修改用户名

/** MySQL数据库密码 */
define(‘DB_PASSWORD‘, ‘wppass‘);    # 修改密码

/** MySQL主机 */
define(‘DB_HOST‘, ‘192.168.10.103‘);    # 这里的MySQL主机指向第三台主机

#至此WordPress就配置完成了,需要重载php-fpm的配置文件

[[email protected] ~]# systemctl reload php-fpm.service

#测试WordPress

#使用浏览器输入URL为http://www.a.com/wordpress

#但是输入http://www.a.com/wordpress则能够访问,已经排除是DirectoryIndex的影响,那么如何能够使得用户访问虚拟主机www.a.com的wordpress目录时自动返回index.php呢?

#问题解决思路:有可能是在第一台主机上没有创建/apps/vhosts/a.com/wordpress所致,虽然wordpress下的动态资源是存放在第二台php-fpm主机上的,而第一台httpd主机则用于存放静态资源,但在第一台主机上有可能仍需要有wordpress这个空目录。

[[email protected] ~]# mkdir /apps/vhosts/a.com/wordpress

#再使用浏览器打开,输入的URL仍为http://www.a.com/wordpress

#可以发现,浏览器会被重定向到此页面,填写博客个人基本信息,填写后点击安装WordPress

#安装后点击登录

#但是点击登录后出现如下页面

#和刚才一样的解决思路,在第一台主机上的虚拟主机www.a.com站点目录下的wordpress目录下创建wp-admin目录

[[email protected] ~]# mkdir /apps/vhosts/a.com/wordpress/wp-admin

#再次登录wordpress

#至此Wordpress安装并测试成功,接下来在第一台主机的第2台虚拟主机上搞定phpMyAdmin

#在第二台主机上下载phpMyAdmin压缩包

[[email protected] ~]# wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip

#解压后并移至虚拟主机www.b.net的站点目录下

[[email protected] ~]# unzip phpMyAdmin-4.0.10.20-all-languages.zip
[[email protected] ~]# mv phpMyAdmin-4.0.10.20-all-languages /apps/vhosts/b.net
[[email protected] ~]# cd /apps/vhosts/b.net
[[email protected] b.net]# ln -sv phpMyAdmin-4.0.10.20-all-languages pma    # 创建链接目录pma
‘pma’ -> ‘phpMyAdmin-4.0.10.20-all-languages’

#cd进链接目录pma,复制样本配置文件config.sample.inc.php为config.inc.php,并修改之

[[email protected] b.net]# cd pma/
[[email protected] pma]# cp config.sample.inc.php config.inc.php
[[email protected] pma]# vim config.inc.php
# 主要修改这两项配置
$cfg[‘blowfish_secret‘] = ‘ohTcFA/TpAW47B+cf1bE‘; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
    # 上面两个单引号中间加上随机码,用于通信加密,随机码可由 openssl rand -base64 15生成
$cfg[‘Servers‘][$i][‘host‘] = ‘192.168.10.103‘;    # 这里指向第三台主机(即数据库主机)的地址

#现在第2台虚拟主机的配置基本完成,重载php-fpm服务进程

[[email protected] ~]# systemctl reload php-fpm.service

#在第三台主机上授权用户

[[email protected] ~]# mysql
MariaDB [(none)]> GRANT ALL ON *.* TO [email protected]‘192.168.%.%‘ IDENTIFIED BY ‘pmapass‘;
MariaDB [(none)]> FLUSH PRIVILEGES;

#现在测试phpMyAdmin

#打开浏览器,输入URL为http://www.b.net/pma,显示如下

#解决思路:同样排除是由DirectoryIndex的影响,尽管动态资源应该存放在第二台主机上,但用户访问第二台主机上的目录名在第一台主机的虚拟主机站点目录下也需要存在

[[email protected] ~]# mkdir /apps/vhosts/b.net/pma

#再次访问http://www.b.net/pma,显示如下

#重新生成随机码并修改到配置文件config.inc.php中,再次访问,填写刚才在第三台主机上授权的数据库用户名和密码即可登录

可以正常使用了。

时间: 2024-08-23 09:44:17

LAMP的分布式实现——安装WordPress、phpMyAdmin的相关文章

lamp +discuz+wordpress+phpmyadmin实例安装详解

应用需求如下:1. 准备两台centos 6,其中一台机器跑mysql,另外一台机器跑apache和nginx + php 2. 同时安装apache和nginx,其中nginx启动80端口,用来跑静态对象(图片.js.css),apache监听88端口,负责跑动态页(php相关的),并且需要由nginx代理对外访问3. mysql服务器需要开启慢查询日志4. 搭建discuz.wordpress以及phpmyadmin,域名分别为bbs.test.com, blog.test.com, php

&#8203;Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级!

Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级 注意:我这里使用lamp搭建wordpress使用的全部都是rpm安装,如果有想要学习编译安装的朋友,可以参考另外一位午饭的博客,我安装wordpress也是参考他的内容,贴上他的地址: http://dreamfire.blog.51cto.com/418026/197595 操作系统全部使用centos6.6 注意:这里只列出了node3的配置过程,node2配置过程与node3完全一致!!! [[e

LINUX小白重装上百次后, 最终找出一个成功方案 CentOS LAMP +wordpress+phpmyadmin 共0.84G

折腾了几天,终于找到很节省资源的安装wordpress方案. 成功搭建网站 http://www.gudianxiaoshuo.com     and   http://www.gudianbook.com 同时向大家推荐下wordpress建站利器 书画小说软件4.0版  我的网站 就是用这个软件搭建的  222本书 15000余篇文章 共用8个半钟头左右. 好了,转回正题,入手了一台LINUX VPS  进去一看 黑乎乎的DOS  立马傻眼.  更可恨的是没有提供相关资料,只能去自己找.自己

Centos 7 安装 Wordpress(三)-----安装 MariaDB数据库、PHP & PHPMyAdmin

全文根据 Keneuro的博客来安装,所以也把该地址分享出来. ----------------------------------------------------------------------------- 下面咱们也来试下. 先来试下 Centos 7 安装 Wordpress(三)-----安装 MariaDB数据库.PHP & PHPMyAdmin

lamp环境安装wordpress

一.lamp环境安装wordpress准备工作: 1.安装好lamp环境. 不会搭建lamp环境的参考:php和apache编译安装及mysql 5.1编译方法 2.下载wordpress:https://cn.wordpress.org/ 二.lamp环境安装wordpress安装过程: 1.建立wordpress数据库和用户授权:wordpress, mysql> cretae database wordpress charset utf8; mysql> grant create,upd

CentOS 7.4 yum方式安装LAMP环境,并部署WordPress,使用XCache优化性能

一.安装LAMP环境: # yum -y install httpd mariadb-server php-mysql php 程序包版本: httpd:2.4.6 mariadb-server:5.5.56 php-mysql(PHP连接MySQL时需要用到的驱动):5.4.16 php:5.4.16 备注: CentOS 7.4已经不再提供mysql-server的程序包 httpd配置文件: 1.主配置文件:/etc/httpd/conf/httpd.conf 2.辅助配置文件:/etc/

CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

本次实验要进行的是在CentOS7.2,内核版本3.10.0-327.el7.x86_64的环境下搭建LAMP和LNMP,并在此之上做一个WordPress博客网站. [[email protected] ~]# uname -a Linux Shining.ACG 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# cat 

通过安装WordPress来配置lamp开发环境

WordPress的安装与连接到MySQL一,安装php7.0: 1.往apt中导入源,用指令sudo apt-get install php7.0 下载并安装php,登录http://wordpress/readme.html验证php的安装. 二,安装wordpress 2.在官网上下载,用命令 sudo tar -xvf wordpress-4.7.4-zn_CH.tar.gz -C /var/www/html 将其解压到/var/www/html/中. 3.用sudo apt-get i

详解LAMP源码编译安装

实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MySQL 四.编译安装 PHP 测试LAMP搭建开源数据web管理程序phpMyadmin 详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装L