使用LAMP建立Wordpress, 要求如下:

准备工作:

  1. VMware 14
  2. CentOS 7.4 最小化 安装镜像
  3. Wordpress 安装包,  下载

预热:

  1. 使用VMware新建4台虚拟机, 并安装 --> 可以先安装一台CentOS 7 最小系统, 然后使用克隆功能 复制出另外三台, 直接安装还快些;
  2. 设置yum源, 与网卡等基本应用, 使用 yum -y update
  3. 记录各个主机的ip
MariaDB主机 192.168.142.128/24
 nfs 192.168.142.140/24
httpd1 192.168.142.135/24
httpd2 192.168.142.141/24

开始:

  • httpd1/2 共用设置 --> 配置PHP, httpd 和 mariadb 客户端

    1. yum -y install httpd php php-devel php-mysql mariadb
    2. systemctl start httpd
    3. vim /var/www/html/index.php --> <?php phpinfo(); ?>
    4. systemctl reload httpd
    5. 测试php加载是否成功:

  • MariaDB服务器设置:

    1. yum -y install mariadb mariadb-server --> 安装mariadb的 客户端 和 服务端
    2. mysql -uroot -p --> 登陆到本地mysql服务端执行如下操作
      1. 新建库 wpress --> CREATE DATABASE wpress;
      2. 新建Wordpress专用用户及授权 --> 
        GRANT SELECT,UPDATE,ALTER,INSERT,CREATE,DELETE ON wpress.* TO 'wpuser'@'192.168.142.%' IDENTIFIED BY 'password';
    3. 在httpd端进行登陆测试 -->

      mysql -uwpress -h192.168.142. -ppassword
      >SHOW GRANTS; --> 登陆进mysql服务器后,使用此命令显示授权信息;

      MariaDB [(none)]> show grants;
      +-------------------------------------------------------------------------------------------------------------------+
      | Grants for wpuser@192.168.142.% |
      +-------------------------------------------------------------------------------------------------------------------+
      | GRANT USAGE ON *.* TO 'wpuser'@'192.168.142.%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
      | GRANT SELECT, INSERT, UPDATE, CREATE, DELETE, ALTER ON `wpress`.* TO 'wpuser'@'192.168.142.%' |
      +-------------------------------------------------------------------------------------------------------------------+
      2 rows in set (0.00 sec)

      • 进行php-mysql的连接测试:

        vim /var/www/html/index.php --> ↓修改如下↓
        <?php
        echo '<title>
        This is a PHP page
        </title>';
        $link=mysql_connect('192.168.142.128','wpuser','password');
        if ($link)
        echo "Mysql Connected"; --> 连接成功
        else
        echo "Mysql Failed";
        mysql_close();
        phpinfo();
        ?>

  • 配置Wordpress到httpd 1服务器中, 准备配置好后直接拷贝到 nfs 上面去

    • 下载源码包 后使用xftp导入 httpd1 服务器中, 解压得到:

    • 访问httpd服务器1 上的 wp站点: http://192.168.142.135/wordpress

      • 根据提示生成 wp-config.php文件内容; 或者, 直接在wordpress/ 目录下,  cp wp-config-sample.php wp-config.php , 修改最上面几行的 define('DB_NAME', 'database_name_here'); 的_here为你自己设置的数据库即可;
      • 刷新页面, 按照提示设置
      • 如果提示需要修改数据库内容 --> 最好能够直接删掉wpress, 再新建一个wpress;
      • 查看站点, 测试站点, 新建用户等;

  • 配置httpd2 服务端

    1. 配置 httpd2服务器, 安装 httpd mariadb php php-mysql 进行测试
  • nfs服务器配置:

    1. yum -y install nfsd-utils --> 安装nfs共享环境
    2. mkdir -pv /share/wp 我用此目录做nfs共享目录
    3. 编辑 /etc/exports 定义该共享文件系统/share/wp 192.168.142.0/(rw,no_root_squash)
    4. systemctl start nfs 启动服务
    5. 使用 showmount -e localhost 查看是否分享成功
      [root@nfs ~]# showmount -e localhost
      Export list for localhost:
      /share/wp 192.168.142.0/
    6. 在 httpd1 和 httpd2 分别安装nfs-utils , 然后挂载 /share/wp 文件系统 mount -t nfs 192.168.142.140:/share/wp /var/www/html/ --> 这里偷个懒, 直接挂载到httpd的默认资源路径, 省得修改...
    7. 随手创建一个 index.php <?php echo "This page is from NFS Server"; phpinfo(); ?> , 再访问:

  • 拷贝httpd1上配置好的wordpress/到nfs服务器上, 访问查看是否正常:                                                                                                                  

  • 但是这么做有一个问题: 管理页面都会跳转到 httpd1 的服务器上, 那么我们删除这个wp站点重新做一遍试试看;

    • 删除wordpress/, 删除数据库新建

    • 在nfs服务器上解压安装wordpress
    • 为了实验效果, 我们这次使用 httpd2 这台服务器来配置wp --> 结果: 登陆后一样会跳转到httpd2 这台主机上来;
  • 上传文件问题:

    • 由于httpd服务器上的 httpd服务 都是使用apache用户身份运行的, 我们需要为apache用户增加对 /var/www/html 目录的写权限。但是!使用 chmod 766 后, wordpress 整个站点都挂了;
    • 嗯,需要 x 权限 才能正确访问;
    • 仔细查看了wp对上传时候的报错, 发现: /wordpress/wp-content 才是需要更改 777 权限的, 更改了之后, 上传正常;

最终测试


总结:

  1. 最开始的将wp站点资源分别放在httpd1和httpd2上是错误的; 正确做法是放在 nfs 上, 这样所有的访问都会从nfs 调用静态资源;

  2. nfs巨卡,性能差劲;

  3. 无可避免的, 无论在哪一台 httpd 上完成wordpress的初始化, 管理权限登陆最终都会跳转到那台进行初始化的服务器上;还没有搞懂为什么;

  4. 对开篇的结构图的补充内容:httpd服务器只提供httpd服务, 不放静态资源;

  5. 几个需要注意的点:
    1. mariadb 对wpuser的授权需要 DELETE 权限;
    2. nfs的搭建安装包是  nfs-utils;
    3. 这种形式的站点不好用。

相关命令整理:

nfs服务器: nfsd(nfs-utils), mountd, idmapd

showmount -e HOST_IP
showmount -a HOST_IP 显示指定NFS上所有的挂载

挂载
mount -t nfs SERVER:/path/to/shared_fs /path/to/mount_point

/etc/exports: 格式:
directory (or file system) client1(option1, option2) client2(option1, option2)

LAMP 建立 Wordpress 站点 Linux Apache MariaDB PHP的更多相关文章

  1. 在Fedora 23 Server和Workstation上安装LAMP(Linux, Apache, MariaDB和PHP)

    在安装LAMP之前,建议先更新系统包$ sudo dnf update 第一步:安装Apache Web服务器1.在Fedora 23安装Apache,你可以运行下面的命令:$ sudo dnf in ...

  2. [PHP] ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)

    reference : http://blog.csdn.net/Abyss_sliver/article/details/77621404 好久没有在Linux环境下进行开发了,比较常用的还是win ...

  3. Linux centos7 LAMP架构介绍、 MySQL、MariaDB介绍、MySQL安装

    一.LAMP架构介绍 为Linux+Apache(httpd)+MySQL+PHP简写,把后三者安装在Linux Apache是最常用的的web服务软件,MySQL为小型的数据库存储软件,PHP为脚本 ...

  4. 配置LAMP实现WordPress

    环境说明: 在同一台主机上实现LAMP(Linux + Apache + MariaDB + PHP) CentOS 7.3.Apache 2.4.6.MariaDB 5.5.52.PHP 5.4.1 ...

  5. Install LAMP Server (Apache, MariaDB, PHP) On CentOS/RHEL/Scientific Linux 7

    Install LAMP Server (Apache, MariaDB, PHP) On CentOS/RHEL/Scientific Linux 7 By SK  - August 12, 201 ...

  6. 【腾讯云的1001种玩法】几种在腾讯云建立WordPress的方法(Linux)(二)

    版权声明:本文由张宁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/126547001488207964 来源:腾云阁 ht ...

  7. L(kali)A(apache)M(mysql)P(php)环境+wordpress站点搭建

    一:LAMP环境配置 首先LAMP(linux+apache+mysql+php)即为本次搭建网站所需的环境,由于本次使用的debian衍生版kali版本自带lamp,因此只要在服务器上启动相应服务既 ...

  8. [转] Ubuntu 12.04下LAMP安装配置 (Linux+Apache+Mysql+PHP)

    我是一个Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站.LAMP套件就是 “Linux+Apache+Mysql+PHP这 ...

  9. 【 Linux 】lvs-dr模型实现HA,后端Nginx、PHP、MySQL分离 搭建wordpress站点

    要求:    1. wordpress程序通过nfs共享给各个realserver    2. 后端realserver中的nginx和php分离 网络结构图: 环境说明:    OS:centos6 ...

随机推荐

  1. JS装饰器模式

    装饰器模式:在不改变原对象的基础上,通过对其进行包装拓展(添加属性或者方法),保护原有功能的完整性需要条件:原对象,新内容(属性/方法)个人理解:重新实现一下,原对象的方法,在方法内容,先执行原对象的 ...

  2. ScrollView和ListView滑动冲突问题

    1.在ScrollView里面嵌套ListView时,ListView的滑动事件无法响应. 先看下事件分发的过程: 由父View层的  onInterceptTouchEvent    到中间层的on ...

  3. eclipse搭建golang for windows

    用惯了eclipse,所以.... golang windows开发环境 参考文档:http://golang.org/doc/install 1.下载go安装包http://code.google. ...

  4. Caffe_Scale层解析

    Caffe Scale层解析 前段时间做了caffe的batchnormalization层的解析,由于整体的BN层实现在Caffe是分段实现的,因此今天抽时间总结下Scale层次,也会后续两个层做合 ...

  5. 页面定制CSS代码初探(一):页面变宽 文本自动换行 图片按比缩放

    初识博客 初写博客,先在设置里选了个喜欢的模板 第一眼就爱上了呢!那极简的风格,我喜欢!!但是,应用后,却发现... 纳尼!模板上右侧那张漂亮的图片呢?!我的怎么什么都没有.没有图片好难看啊,瞬间无爱 ...

  6. ZBrush中如何使用套索工具绘制遮罩

    ZBrush®中创建遮罩的方法有很多,可以手动创建矩形遮罩.圆形遮罩和图案遮罩,然而这些遮罩都是固定的形状.使用Zbrush中的套索遮罩能够实现不规则的图形遮罩,游刃有余的发挥创作. 使用套索工具绘制 ...

  7. JS使用三元运算符判断三个数中最大的数

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. java导出html页面

    http://blog.csdn.net/zhyh1986/article/details/8727523#t6 http://blog.csdn.net/zuozuofuwaiwai/article ...

  9. Maven private reprository 更新

    maven对构件的更新判断基本上是两种,一种是稳定版本,一种是maven特有的SNAPSHOT版本. 稳定版本很好判断,直接根据maven构件的坐标体系就能够获得.先从本地仓库中找,如果本地仓库没有, ...

  10. 倍增算法总结 ( 含RMQ模板)

    部分题目来自<算法竞赛设计进阶> 问题       给定一个长度为n的数列A,有m个询问,每次给定一个整数T,求出最大的k,满足a[1],a[2]……a[k]的和小于等于T(不会打sigm ...