首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于NFS共享的LAMP站点构建

基于NFS共享的LAMP站点构建

作者头像
用户1456517
发布2019-03-05 16:09:35
4760
发布2019-03-05 16:09:35
举报
文章被收录于专栏:芝麻实验室芝麻实验室

本实例中,我们将展现一个前端拥有2个分布式主机(均为独立IP)的个人博客站点,2个主机通过NFS服务共享站点文件,并通过TCP连接Mariadb数据库,当客户访问该站点时,DNS将将返回轮询的A记录,从而实现2台主机的httpd程序复杂均衡。

准备环境:

  • DNS Server [192.168.1.100] * 1
  • Mariadb Server [192.168.1.10] * 1
  • NFS Server(WebSite Server) [192.168.1.20] * 1
  • Web Server(httpd+php) [192.168.1.5 & 192.168.1.15] * 2

NFS Server的构建

  • 创建共享文件路径并获取Wordpress博客程序点此下载
[root@wordpress ~]# mkdir /share
[root@wordpress share]# wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.tar.gz
[root@wordpress share]# tar xf wordpress-4.8.1-zh_CN.tar.gz
  • 安装并启用NFS服务
[root@wordpress share]# yum -y install nfs-utils rpcbind
[root@wordpress share]# systemctl enable nfs-server rpcbind
[root@wordpress share]# systemctl start rpcbind
[root@wordpress share]# systemctl start nfs-server
  • 配置NFS共享
[root@wordpress share]# vim /etc/exports.d/wp.exports
    /share/wordpress 192.168.1.5(rw,async) 192.168.1.15(rw,async)
[root@wordpress share]# exportfs -r
[root@wordpress share]# exportfs -v
/share/wordpress
        192.168.1.5(rw,async,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/share/wordpress
        192.168.1.15(rw,async,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
[root@wordpress share]# chmod -R 777 /share/wordpress #授予文件系统写权限

配置Mariadb服务器

  • 关于从零开始安装Mariadb, 请参见这篇文章MariaDB的二进制格式安装
  • 创建网站数据库和数据库用户,将用户将用于连接数据库。
MariaDB [(none)]> create database blog; #创建数据库
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on blog.* to wpadmin@'192.168.1.%' identified by 'wpmanager'; #创建并授权用户
Query OK, 0 rows affected (0.00 sec)

[root@mysql ~]# mysql -uwpadmin -pwpmanager -h192.168.1.10 #登录验证
MariaDB [(none)]> show databases; #查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog               |
+--------------------+
2 rows in set (0.00 sec)

配置Web服务器(httpd+php)

  • 关于httpd2.4+php的实现,请参见这篇文章LAMP的安装
  • 安装NFS客户端工具
[root@apache ~]# yum -y install nfs-utils #负载主机2执行同样操作 此处略过 下同
[root@apache ~]# showmount -e 192.168.1.20 #查看NFS服务器上共享的文件
Export list for 192.168.1.20:
/share/wordpress 192.168.1.15,192.168.1.5
  • 挂载NFS站点文件
[root@apache ~]# echo '192.168.1.20:/share/wordpress /usr/local/httpd24/htdocs nfs rw 0 0' >> /etc/fstab
[root@apache ~]# mount -a 
[root@apache ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/sda3             18143556 2190204  15025048  13% /
tmpfs                   953124       0    953124   0% /dev/shm
/dev/sda1               289293   40484    233449  15% /boot
192.168.1.20:/share/wordpress           33624832 1659904  30233856   6% /usr/local/httpd24/htdocs
  • 查看本地挂载目录
[root@apache ~]# rm -f /usr/local/httpd24/htdocs/index.php 
[root@apache ~]# ls /usr/local/httpd24/htdocs/
license.txt      wp-blog-header.php    wp-cron.php        wp-login.php     wp-trackback.php
readme.html      wp-comments-post.php  wp-includes        wp-mail.php      xmlrpc.php
wp-activate.php  wp-config-sample.php  wp-links-opml.php  wp-settings.php
wp-admin         wp-content            wp-load.php        wp-signup.php
  • 安装Wordpress

打开浏览器,输入http://192.168.1.15/或http://192.168.1.5/ , 根据页面信息填入数据库信息和站点信息即可。如图:

alt
alt
  • 在DNS服务器上添加如下记录
$TTL 1D
@    IN SOA    dns rname.invalid. (
                    20171017    ; serial
                    1D            ; refresh
                    1H            ; retry
                    1W            ; expire
                    3H )        ; minimum
    NS    dns
dns A   192.168.1.100
@   A   192.168.1.100
www A   192.168.1.100
blog A 192.168.1.5   #分别对应负载的2台Web Server
blog A 192.168.1.15

测试

  • 测试解析是否正确及站点是否可以负载工作。
[root@apache htdocs]# ping blog.zhimajihua.cn
PING blog.zhimajihua.cn (192.168.1.5) 56(84) bytes of data.
64 bytes from 192.168.1.5: icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from 192.168.1.5: icmp_seq=2 ttl=64 time=0.055 ms
64 bytes from 192.168.1.5: icmp_seq=3 ttl=64 time=0.053 ms
...

[root@apache htdocs]# ping blog.zhimajihua.cn
PING blog.zhimajihua.cn (192.168.1.15) 56(84) bytes of data.
64 bytes from 192.168.1.15: icmp_seq=1 ttl=64 time=1.44 ms
64 bytes from 192.168.1.15: icmp_seq=2 ttl=64 time=0.635 ms
64 bytes from 192.168.1.15: icmp_seq=3 ttl=64 time=0.595 ms
...

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/10/18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档