当前位置: 首页 > news >正文

分布式架构搭建博客网站

目录

  • 运行环境
  • 基础配置
  • 需求
  • 准备工作
    • 配置静态ip
    • 修改主机名及host映射
    • 开启防火墙
    • 时间同步
    • 配置免密ssh登录
  • 环境搭建
    • Server-Web端安装LNMP环境软件
    • Server-NFS-DNS端上传博客软件
    • Server-NFS-DNS端设置NFS共享
    • Server-Web设置
      • 挂载远程共享目录
      • nginx设置
      • 在数据库中创建数据库和用户
      • 重启数据库和http
      • 测试
    • 在Server-NFS-DNS端配置DNS
  • 实现(截图)

运行环境

主机主机名系统服务
192.168.160.137Server-WebLinuxWeb
192.168.160.138Server-NFS-DNSLinuxNFS/DNS

基础配置

  • 配置主机名
  • 开启防火墙并配置
  • 部分开启Selinux并配置
  • 服务器之间使用相同ntp.aliyun.com进行时间同步
  • 服务器之间实现SSH免密登录

需求

  • Server-NFS-DNS主机配置NFS服务器,将博客网站资源共享给Server-Web主机,Server-NFS-DNS主机配置DNS
  • Server-Web主机配置web服务,通过域名www.openlab.com可以访问到自建的博客网站

准备工作

恢复快照

配置静态ip

# 在192.168.160.137配置
[root@server ~]# nmcli c modify ens32 ipv4.method manual ipv4.addresses '192.168.160.137/24' ipv4.gateway '192.168.160.2' ipv4.dns '114.114.114.114'
[root@server ~]# nmcli c reload
[root@server ~]# nmcli c up ens32   # 注意在RHEL9系统中是ens160#在192.168.160.138配置
[root@node ~]# nmcli c modify ens32 ipv4.method manual ipv4.addresses '192.168.160.138/24' ipv4.gateway '192.168.160.2' ipv4.dns '114.114.114.114'
[root@node ~]# nmcli c reload
[root@node ~]# nmcli c up ens32

修改主机名及host映射

# 在192.168.160.137配置
[root@server ~]# hostnamectl set-hostname Server-Web
[root@server ~]# vim /etc/hosts
127.0.0.1   Server-Web
192.168.160.137 Server-Web
192.168.160.138 Server-NFS-DNS
[root@server ~]# reboot# 在192.168.160.138配置
[root@node ~]# hostnamectl  set-hostname Server-NFS-DNS
[root@node ~]# vim /etc/hosts
127.0.0.1   Server-NFS-DNS
192.168.160.137 Server-Web
192.168.160.138 Server-NFS-DNS
[root@node ~]# reboot

开启防火墙

# 在两台机子上操作
systemctl start firewalld
systemctl enable firewalld

时间同步

# 在两台机子上操作
vim /etc/chrony.conf     
server ntp.aliyun.com iburst   # 第三行修改
systemctl restart chronyd  #重启时间服务器
chronyc sources -v   # 查询是否同步成功
timedatectl status   # 同上

配置免密ssh登录

# 在192.168.160.137(Server-Web)配置
[root@Server-Web ~]# ssh-keygen -t rsa  #一路回车
[root@Server-Web ~]# ssh-copy-id 192.168.160.138  # 会有输入138主机密码的步骤
[root@Server-Web ~]# ssh 192.168.160.138
[root@Server-NFS-DNS ~]# exit# 在192.168.160.138(Server-NFS-DNS)配置
[root@Server-NFS-DNS ~]# ssh-keygen -t rsa
[root@Server-NFS-DNS ~]# ssh-copy-id 192.168.160.137
[root@Server-NFS-DNS ~]# ssh 192.168.160.137
[root@Server-Web ~]# exit

环境搭建

Server-Web端安装LNMP环境软件

[root@Server-Web ~]# yum install nginx mariadb-server php* -y

Server-NFS-DNS端上传博客软件

  • 网址:https://cn.wordpress.org/,下载后为zip压缩文件

  • 将wordpress上传到192.168.160.138(Server-NFS-DNS)端的/目录下

[root@Server-NFS-DNS ~]# cd /
[root@Server-NFS-DNS /]# ls
afs   etc    lost+found  proc  srv  var
bin   home   media       root  sys  wordpress-6.0.1-zh_CN.zip
boot  lib    mnt         run   tmp
dev   lib64  opt         sbin  usr
[root@Server-NFS-DNS /]# unzip wordpress-6.0.1-zh_CN.zip
[root@Server-NFS-DNS /]# cd wordpress
[root@Server-NFS-DNS wordpress]# ls

Server-NFS-DNS端设置NFS共享

  • 目的:将Server-NFS-DNS端的/wordpress目录共享到192.168.160.137(Server-Web)
[root@Server-NFS-DNS wordpress]# cd
[root@Server-NFS-DNS ~]# yum install rpcbind -y
[root@Server-NFS-DNS ~]# yum install nfs-utils -y[root@Server-NFS-DNS ~]# vim /etc/exports      #编辑配置文件
/wordpress 192.168.160.137(rw,sync,all_squash)  #添加[root@Server-NFS-DNS ~]# chmod -Rf 777 /wordpress
[root@Server-NFS-DNS ~]# cd /
[root@Server-NFS-DNS /]# ll     #可以查看一下是否777[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone public --add-service=mountd
[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone public --add-service=rpc-bind
[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone public --add-service=nfs
[root@Server-NFS-DNS ~]# firewall-cmd --reload#启动服务
[root@Server-NFS-DNS ~]# systemctl start rpcbind
[root@Server-NFS-DNS ~]# systemctl start nfs-server

Server-Web设置

挂载远程共享目录

[root@Server-Web ~]# yum install rpcbind -y[root@Server-Web ~]# yum install nfs-utils -y[root@Server-Web ~]# showmount -e 192.168.160.138  #查询[root@Server-Web ~]# mount -t nfs 192.168.160.138:/wordpress /wp # 挂载[root@Server-Web ~]# cd /wp[root@Server-Web wp]# ls # 查看目录文件

nginx设置

[root@Server-Web ~]# firewall-cmd --permanent --zone public --add-service=http
[root@Server-Web ~]# firewall-cmd --reload
[root@Server-Web ~]# vim /etc/nginx/nginx.conf  # 编辑nginx配置文件root         /wp;

在数据库中创建数据库和用户

[root@Server-Web ~]# systemctl start mariadb[root@Server-Web ~]# mysqlMariaDB [(none)]> create database wordpress;   #创建数据库,尾部有分号MariaDB [(none)]> create user 'test1'@'localhost' identified by '123456';   
# 第一个''为数据库账号,@后面的''内容为数据库可以登录的地址,1ocalhost意为只能本机登录。用户和密码与wordpress配置文件一样MariaDB [(none)]> grant all on wordpress.* to 'test1'@'localhost';MariaDB [(none)]> exit

重启数据库和http

[root@Server-Web ~]# systemctl restart mariadb
[root@Server-Web ~]# systemctl restart nginx

测试

  • 在Windows端输入192.168.160.137继续完成wordpress配置(邮箱必须设置)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在Server-NFS-DNS端配置DNS

  • 原则:www.openlab.com正向解析为192.168.160.137
  • 192.168.160.138端(Server-NFS-DNS)
  • 安装
[root@Server-NFS-DNS ~]# yum install bind -y[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone public --add-service=dns   #防火墙放行[root@Server-NFS-DNS ~]# firewall-cmd --reload[root@Server-NFS-DNS ~]# systemctl start named
  • 编辑主配置文件
[root@Server-NFS-DNS ~]# vim /etc/named.conf
# 第11 19行修改为any任意主机listen-on port 53 { any; };allow-query     { any; };
  • 修改区域配置文件,清空添加:
[root@Server-NFS-DNS ~]# vim /etc/named.rfc1912.zones
zone "openlab.com" IN {type master;file "openlab.com.zone";allow-update { none; };
};
  • 新建区域数据文件并配置解析
[root@Server-NFS-DNS ~]# cd /var/named
[root@Server-NFS-DNS named]# cp -a named.localhost openlab.com.zone
[root@Server-NFS-DNS named]# vim openlab.com.zone
$TTL 1D
@       IN SOA  openlab.com. admin.oplab.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      ns.openlab.com.
ns      IN      A       192.168.160.137
www     IN      A       192.168.160.137
bbs     IN      A       192.168.160.137
  • 启动服务
[root@Server-NFS-DNS named]# systemctl restart named
  • 测试:
    192.168.160.137端(Server-Web)
  • 将Server-Web端的DNS改为192.168.48.131后并输入www.openlab.com域名访问
  • 第一种
[root@Server-Web ~]# nmcli con modify ens32 ipv4.dns '192.168.160.138'  [root@Server-Web ~]# nmcli con up ens32[root@Server-Web ~]# cat /etc/resolv.conf  
nameserver 192.168.160.138     # 查看确保其中有这个[root@Server-Web ~]# nslookup www.openlab.com  # 测试
Server:         192.168.160.138
Address:        192.168.160.138#53Name:   www.openlab.com
Address: 192.168.160.137
  • 第二种
#openeuler网络ens32配置地址
[root@Server-Web ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32     # 将DNS改为192.168.160.138(Server-NFS-DNS)
[root@Server-Web ~]# nslookup www.openlab.com  # 测试
Server:         192.168.160.138
Address:        192.168.160.138#53Name:   www.openlab.com
Address: 192.168.160.137

实现(截图)

  • 两边都先配置静态IP
    在这里插入图片描述
    在这里插入图片描述

  • 192.168.160.137端
    在这里插入图片描述

在这里插入图片描述

  • 192.168.160.138端(两边做完都要reboot)
    在这里插入图片描述
    在这里插入图片描述

  • 防火墙
    在这里插入图片描述
    在这里插入图片描述

  • 时间同步

    • vim /etc/chrony.conf(两端都做)

在这里插入图片描述

  • 192.168.160.137端
    在这里插入图片描述

  • 192.168.160.138端
    在这里插入图片描述

  • 相互免密登录

    • 192.168.160.137
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 192.168.160.138
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

环境搭建

  • 在Server-Web端

在这里插入图片描述

  • 上传wordpress到Server-NFS-DNS端

在这里插入图片描述

  • Server-NFS-DNS端设置NFS共享
    在这里插入图片描述
    在这里插入图片描述

  • 挂载
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • nginx设置
    在这里插入图片描述
    在这里插入图片描述

  • 数据库中创建数据库和用户
    在这里插入图片描述

  • 重启数据库和nginx

在这里插入图片描述

  • DNS服务

    • 192.168.160.138端
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 192.168.160.137端
      在这里插入图片描述


http://www.mrgr.cn/news/62267.html

相关文章:

  • SuperMap iClient3D for Cesium等高线标注
  • 第10章 初等数论
  • 攻防世界web第三题file_include
  • .NET 8.0 项目升级到 .NET 9.0
  • FFmpeg 的常用API
  • 【数据库初阶】数据库基础知识
  • https加密过程详解
  • CountDownLatch与CyclicBarrier的比较应用
  • 头歌网络安全爬虫
  • Redis 发布订阅 总结
  • 图像篡改研究
  • 未来生活中的AI电脑是怎样的
  • 【Python单元测试】pytest框架单元测试常用用例
  • Go性能基础
  • 【股东权益与市值:概念、计算与差异分析】
  • 关于防止布局底部有弹簧而导致的QWidget闪烁问题
  • 12-Docker发布微服务
  • STM32的隐藏定时器---DWT
  • 为什么大模型都是Decoder-only结构?
  • Python入门——iter迭代器—__iter__()方法__next__()方法
  • 详解RabbitMQ三种队列类型
  • Rust编程中的浮点数比较
  • 多线程显示 CSV 2 PNG 倒计时循环播放
  • Redis 淘汰策略 问题
  • leetcode hot100【LeetCode 230. 二叉搜索树中第K小的元素】java实现
  • DOM---鼠标事件类型(移入移出)