快速架构Mysql与Apache分离的完整的LAPM方案

快速架构Mysql与Apache分离的完整的LAPM方案

作者:卫岩

 

一、方案分析:

 

我们构建出三个服务器,两个为Web服务器,一个为Mysql的数据服务器。其中两个Web服务器将接收到的数据请求直接连入最底层的Mysql服务器。将所有的数据都存储在Mysql服务器上。

这里我们采用wordpress这款时下最流行的个人博客站点来当做我们的测试网站。

 


二、实现方法:

         我们采用实用nfs共享的机制,实现让Mysql服务器的数据直接共享给两个Web服务器,然后数据通过Web服务器访问进来的时候,会自动通过php找到位于其他主机上的Mysql数据库。

 

三、实现方式:

1.配置Mysql服务器:

首先我们要配置我们的yum安装源的位置。

之后确保重要的开发包都已经成功安装,他们分别是:

"DevelopmentTools"

"DevelopmentLibraries"

"LegacySoftware Development"

"X SoftwareDevelopment"

"MySQLDatabase"

"WebServer"

之后,为mysql创立mysql用户和组:

groupadd -g 3306mysql
useradd -u 3306-g mysql -M -s /sbin/nologin mysql

在任何一台主机上不要忘记关闭selinux

serenforce 0

我们创建一个存放数据的目录,将已经配置好的逻辑卷挂载至上面(/mydata)

并且给它mysql的权限:

chown -R mysql:mysql /mydata

将下载到的mysql-5.5.15-linux2.6-i686.tar.gz解压至/usr/local

tarxf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local

创建一个链接目录,使之简单的目录名成为我们的工作目录:

cd /usr/local
        ln -sv mysql-5.5.15-linux2.6.i686 mysql

把mysql目录的属主属组都改为mysql用户,mysql组

cd mysql 
chown -R mysql:mysql .

初始化Mysql

scripts/mysql_install_db --user=mysql--datadir=/mydata/data

此时mysql尚且不能启动

要把属主改为root用户

chown -R root .        

给mysql准备启动所需要的服务的脚本

cp support-files/mysql.server/etc/init.d/mysqld

加入到服务队列

chkconfig --add mysqld

开机启动启动

chkconfig mysqld on

这个时候如果启动的话会报错的,默认情况下mysql会到它的安装目录下找data目录作为它的数据目录的。

给它准备主配置文件

cp support-files/my-large.cnf /etc/my.cnf

编辑这个文件给他一个datadir目录

vim /etc/my.cnf
    加入: datadir =/mydata/data
    并将thread_concurrency= 改为你的CPU核心数*2的数字

此时才可以正常启动

service mysqld start

如果启动错误,一定要到/mydata/data/localhost.localdomain.err下去看它的说明的错误信息。

此时我们的Mysql尚且没有完全准备完成,我们还需要准备它的库文件,头文件。

导入库文件:

vim/etc/ld.so.conf.d/mysql.conf
    加入:/usr/local/mysql/lib

ldconfig

使用ldconfig重新载入

导入头文件,PATH环境变量:

ln -sv /usr/local/mysql/include/usr/include/mysql
vim /etc/profile 
      写入:PATH=$PATH:/usr/local/mysql/bin

至此,我们的Mysql已经全部安装完成,可以正式启动了:

servicemysqld restart 

 

2.安装wordpress

将下载好的wordpress解压并放到相关的位置:

         unzipwordpress-3.0.4-zh_CN.zip
         mkdir–p /var/www/html/wordpress
         mvwordpress/* /var/www/html/wordpress
         rm–rf wordpress

好的,接下来,我们进去配置wordpress的相关文件

         cd/var/www/html/wordpress
         cpwp-config-sample.php wp-config.php

修改wp-config.php里面的

         define('DB_NAME','wordpress');
         define('DB_USER','root');
         define('DB_PASSWORD','aaa');
         define('DB_HOST','192.168.0.44');

成为自己所对应的配置文件即可。

进入mysql服务器,为我们的wordpress手动创建数据库以及远程访问的用户和密码

         mysql
         >CREATEDATABASE wordpress;
         >GRANT ALL PRIVILEGES ON *.* TO root@'%.%.%.%' IDENTIFIED BY 'redhat';
         >FLUSHPRIVILEGES;
         >\q


 

3.配置nfs,实现文件共享

         打开/etc/exports

         在里面加入

    /var/www/html192.168.0.0/24(rw,async)  

         注意,这里面的网段对应的是你自己的Web服务器的网段

         启用nfs服务

       servicenfs start
       chkconfignfs on 实现开机启动
        rpcinfo-p 检查,发现开启了许多的端口


 

 

4.开始配置两个Web服务器。

4.1.挂载nfs共享过来的目录

       mkdir/mnt/web  ## 创建我们要挂载的目录
         showmount-e 192.168.0.44   ## 这个ip是你Mysql服务器的ip
       mount-t nfs 192.168.0.44:/var/www/html /mnt/web


        

4.2 安装httpd

         我们在这里使用yum源安装httpd

         yuminstall httpd -y 

4.3安装php以及相关的关联程序

         yuminstall php php-mysql php-mbstring –y 

4.4配置httpd.conf

         打开/etc/httpd/conf/httpd.conf

         修改DocumentRoot“/var/www/html” 为DocumentRoot "/mnt/web/wordpress/"

         修改<Directory"/var/www/html"> 为<Directory "/mnt/web/wordpress">

         在DirectoryIndexindex.html index.html.var 中加入 index.php

         加入

        AddTypeapplication/x-httpd-php .php
        AddType application/x-htppd-php-source .phps


 

4.5 重启httpd服务

        

servershttpd start

  

好的,此时此刻~我们的Web服务器就已经完全配置完成了,这时候,如果你在浏览器里输入自己的Web服务器的ip则应该显示的就是一个完整的wordpress页面了!




 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值