zoukankan      html  css  js  c++  java
  • LAMP 建立 Wordpress 站点 Linux Apache MariaDB PHP

    使用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.128 -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/24(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/24
      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)

  • 相关阅读:
    微信小程序之 3d轮播(swiper来实现)
    微信小程序之canvas 文字断行和省略号显示
    iframe 自适应高度、父子页面传值、回调
    微信小程序之动态获取元素宽高
    微信小程序之自定义select下拉选项框组件
    使用text-align:justify,让内容两端对齐,兼容IE及主流浏览器的方法
    bind,apply,call,caller,callee还傻傻分不清楚?
    JVM从零学习(三)虚拟机栈
    JVM从零学习(二)PC Register程序计数器
    JVM从零学习(一)运行时数据区及线程
  • 原文地址:https://www.cnblogs.com/gettolive/p/9167162.html
Copyright © 2011-2022 走看看