【分布式的个人博客部署】

综合项目-搭建个人博客

  • 一、运行环境
  • 二、基础配置
  • 三、业务需求
    • 第一步:准备工作
      • 1、配置静态IP
      • 2、修改hosts映射
      • 3、开启防火墙
      • 4、时间同步
      • 5、配置免密ssh登录
    • 第二步:环境搭建
      • 1、Server-web端安装LNMP环境软件
      • 2、Server-NFS-DNS端上传博客软件
      • 3、Server-NFS-DNS端设置NFS共享
      • 4、Server-web设置
        • 挂载远程共享目录
        • nginx设置
        • 修改wordpress配置文件
        • 启动数据库
        • 在数据库中创建数据库和用户
        • 重启数据库和http
    • 第三步:测试
      • 在Server-NFS-DNS端配置DNS
    • 补充
      • 在Windows中进行测试

一、运行环境

主机主机名系统服务
192.168.83.132Server-WebLinuxWeb
192.168.83.134Server-NFS-DNSLinuxNFS/DNS

二、基础配置

  • 配置主机名,静态IP地址

  • 开启防火墙并配置

  • 部分开启SElinux并配置

  • 服务器之间使用同ntp.aliyun.com进行时间同步

  • 服务器之间实现SSH免密登录

三、业务需求

  • Server-NFS-DNS主机配置NFS服务器,将博客网站资源文件共享给Server-web主机,Server-NFS-DNS主机配置DNS

  • Server-web主机配置web服务,通过域名www.dyy.com可以访问到自建的博客网站

第一步:准备工作

1、配置静态IP

# 在Server-Web中配置
[root@Server-Web ~]# nmcli c mod ens32 ipv4.method manual
[root@Server-Web ~]# nmcli c mod  ens32 ipv4.dns 114.114.114.114
[root@Server-Web ~]# nmcli c reload
[root@Server-Web ~]# nmcli c up ens32# 在Server-NFS-DNS中配置
[root@Server-NFS-DNS ~]# nmcli c mod ens32 ipv4.method manual
[root@Server-NFS-DNS ~]# nmcli c mod ens32 ipv4.dns 114.114.114.114
[root@Server-NFS-DNS ~]# nmcli c reload
[root@Server-NFS-DNS ~]# nmcli c up ens32

2、修改hosts映射

# 在Server-Web中配置
[root@Server-Web ~]# vim /etc/hosts

在这里插入图片描述

# 在root@Server-NFS-DNS中配置
[root@Server-NFS-DNS ~]# vim /etc/hosts

3、开启防火墙

# 两台机子都操作
systemctl enable --now firewalld

4、时间同步

# 两条机子都操作
vim  /etc/chrony.conf		#进入配置文件
server ntp.aliyun.com iburst  # 第三行更改
systemctl restart chronyd	
chronyc sources -v			# 应用设置
timedatectl status

5、配置免密ssh登录

# 在Server-Web中配置
[root@Server-Web ~]# ssh-keygen -t rsa   # 生成公钥私钥,一路回车
[root@Server-Web ~]# ssh-copy-id 192.168.83.134  # 上传密钥
[root@Server-Web ~]# ssh 192.168.83.134  # 测试# 在Server-NFS-DNS中配置
[root@Server-NFS-DNS ~]# ssh-keygen -t rsa
[root@Server-NFS-DNS ~]# ssh-copy-id 192.168.83.132
[root@Server-NFS-DNS ~]# ssh 192.168.83.132  

第二步:环境搭建

1、Server-web端安装LNMP环境软件

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

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

  • 网址:https://cn.wordpress.org/ ,下载后为zip压缩文件
  • 将wordpress上传到192.168.83.134(Server-NFS-DNS)端的/目录下
  • 解压缩:
[root@Server-NFS-DNS ~]# cd  /
[root@Server-NFS-DNS /]# unzip wordpress-6.1-zh_CN.zip 
[root@Server-NFS-DNS /]# cd  wordpress
[root@Server-NFS-DNS /]# ls

3、Server-NFS-DNS端设置NFS共享

  • 目的:将Server-NFS-DNS端的/wordpress 目录共享给192.168.83.132(Server-Web)
[root@Server-NFS-DNS /]# yum install rpcbind -y
[root@Server-NFS-DNS /]# yum install nfs-utils -y
[root@Server-NFS-DNS /]# cd  ~
[root@Server-NFS-DNS ~]# vim /etc/exports  # 编辑配置文件
/wordpress   192.168.83.132(rw,sync,all_squash)   # 添加# 设置权限
[root@Server-NFS-DNS ~]# chmod -R 777 /wordpress
# 防火墙添加服务放行
[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

4、Server-web设置

挂载远程共享目录
[root@Server-Web ~]# yum install rpcbind  -y
[root@Server-Web ~]# yum install nfs-utils  -y
[root@Server-Web ~]# showmount -e 192.168.83.134   # 查看
[root@Server-Web ~]# mkdir  /boke  #  新建本地挂载目录
[root@Server-Web ~]# mount -t nfs 192.168.83.134:/wordpress /boke  # 挂载
[root@Server-Web ~]# cd  /wp
[root@Server-Web wp]# ls
nginx设置
[root@Server-Web wp]# cd ~
[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         /boke;

修改wordpress配置文件
[root@Server-Web ~]# cd  /wp
[root@Server-Web wp]# cp  wp-config-sample.php  wp-config.php   # 根据模板拷贝配置文件# 编辑wp-config.php配置文件
[root@Server-Web wp]# vim  wp-config.php
# 定位23行修改后半部分
define('DB_NAME', 'dyy'); # WordPress数据库的名称define('DB_USER', 'hxd');     # MySQL数据库用户名define('DB_PASSWORD', '123456');  # MySQL数据库密码 

启动数据库
[root@Server-Web wp]# cd  ~ 
[root@Server-Web ~]# systemctl start mariadb
在数据库中创建数据库和用户
[root@Server-Web ~]# mysql
MariaDB [(none)]> create database dyy;  # 创建数据库,尾部有分号
MariaDB [(none)]> create user 'hxd'@'localhost' identified by '123456';  # 第一个''为数据库账号,@后面的''内容为数据库可以登录的地址,localhost意为只能本机登录。用户和密码与wordpress配置文件一样,
MariaDB [(none)]> grant all on wordpress.* to 'hxd'@'localhost';  # 给用户授权
MariaDB [(none)]> exit   # 退出
重启数据库和http
[root@Server-Web ~]# systemctl  restart mariadb
[root@Server-Web ~]# systemctl  restart nginx

第三步:测试

  • 在windows端输入192.168.83.132继续完成wordpress配置 (邮箱必须设置)

在Server-NFS-DNS端配置DNS

  • 原则:www.dyy.com 正向解析为 192.168.83.132
  • 安装
[root@Server-NFS-DNS ~]# cd ~
[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任意主机 
11         listen-on port 53 { any; };19         allow-query     { any; };

  • 修改区域配置文件,清空添加:
[root@Server-NFS-DNS ~]# vim /etc/named.rfc1912.zoneszone "dyy.com" IN {type master;file "dyy.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
# 添加正向解析,注意:解析为192.168.48.130web服务器
$TTL 1D
dyy.com.        IN SOA  ns.dyy.com. dyy.qq.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
dyy.com.        IN      NS      ns.dyy.com.
ns.dyy.com.     IN      A       192.168.83.134
www.dyy.com.    IN      A       192.168.83.132

  • 启动服务:
[root@Server-NFS-DNS named]# systemctl restart named
  • 测试:
  • 将Server-Web端的DNS改为192.168.83.134后并输入www.dyy.com域名访问
[root@Server-Web boke]# nmcli c mod ens32 ipv4.dns 192.168.83.134
[root@Server-Web boke]# nmcli c reload
[root@Server-Web boke]# nmcli c up ens32

补充

在Windows中进行测试

将虚拟机网卡和正在使用的网卡进行编辑

在Windows浏览器搜索www.dyy.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917067.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯----DS18B20温度传感器

(二)、温度传感器1、One-Wire总线One-Wire总线利用一根线实现双向通信。因此其协议对时序的要求较严格,如应答等时序都有明确的时间要求。基本的时序包括复位及应答时序、写一位时序读一位时序。单总线即只有一根数据线,系统中的数…

科技赋能成长 脑力启迪未来

——西安臻昊科技与秦岭云数智共筑脑科学教育新生态 2025年6月26日,西安臻昊科技(集团)有限责任公司与秦岭云数智(陕西)科技有限公司正式签署脑象评测技术战略合作协议,双方将依托技术互补与资源协同&#…

Docker部署的PostgreSQL慢查询日志配置指南

目录 1. 核心步骤 1.1 修改配置文件 1.2 动态加载配置(无需重启容器) 1.3 验证配置生效 1.3.1 查看参数 1.3.2 执行测试慢查询 2. 高级用法 2.1 使用分析工具 2.2 启用扩展 3. 注意事项 3.1 日志目录权限 3.2 性能影响 配置Docker部署的Pos…

C# 入门教程(四)委托详解

文章目录1、什么是委托2、委托的声明(自定义委托)3、委托的使用3.1 实例:把方法当作参数传给另一个方法3.2 注意:难精通易使用功能强大东西,一旦被滥用则后果非常严重4、委托的高级使用4.1 多播(multicast)委托4.2隐式…

React的基本语法和原理

3. React条件渲染某些情况下,姐妹的内容会根据不同的情况显示不同的内容,或者决定是否渲染某部分内容: 在React中,所有的条件判断和普通的JavaScript代码一致;常见的条件渲染的方式有哪些?方式一&#xff1…

如何在 Gradle 项目中添加依赖?(以添加 AndroidX 版本的 RecyclerView 为例)

1. 确保项目已启用 AndroidX RecyclerView 的现代版本属于 AndroidX 库,需确保项目已启用 AndroidX: 在 gradle.properties 中应有以下配置(通常新建项目默认开启):android.useAndroidXtrue android.enableJetifiert…

深度学习与图像处理 | 基于PaddlePaddle的梯度下降算法实现(线性回归投资预测)

演示基于PaddlePaddle自动求导技术实现梯度下降,简化求解过程。01、梯度下降法梯度下降法是机器学习领域非常重要和具有代表性的算法,它通过迭代计算来逐步寻找目标函数极小值。既然是一种迭代计算方法,那么最重要的就是往哪个方向迭代&#…

负载均衡集群HAproxy

HAProxy 简介HAProxy 是一款高性能的负载均衡器和代理服务器,支持 TCP 和 HTTP 应用。广泛用于高可用性集群,能够有效分发流量到多个后端服务器,确保服务的稳定性和可扩展性。HAProxy 核心功能负载均衡:支持轮询(round…

重生之我在10天内卷赢C++ - DAY 1

坐稳了,我们的C重生之旅现在正式发车!请系好安全带,前方高能,但绝对有趣!🚀 重生之我在10天内卷赢C - DAY 1导师寄语:嘿,未来的编程大神!欢迎来到C的世界。我知道&#x…

[mind-elixir]Mind-Elixir 的交互增强:单击、双击与鼠标 Hover 功能实现

[mind-elixir]Mind-Elixir 的交互增强:单击、双击与鼠标 Hover 功能实现 功能简述 通过防抖,实现单击双击区分通过mousemove事件,实现hover效果 实现思路 (一)单击与双击事件 功能描述 单击节点时,可以触发…

c++-迭代器类别仿函数常用算法函数

C常用算法函数 1. 前置知识 1.1 迭代器的类别 C中,迭代器是 STL 容器库的核心组件之一,具有举足轻重的作用,它提供了一种 统一的方式来访问和遍历容器,而无需关心底层数据结构的具体实现。迭代器类似指针,但比指针更通…

Python深度学习框架TensorFlow与Keras的实践探索

基础概念与安装配置 TensorFlow核心架构解析 TensorFlow是由Google Brain团队开发的开源深度学习框架,其核心架构包含数据流图(Data Flow Graph)和张量计算系统。数据流图通过节点表示运算操作(如卷积、激活函数)&…

c# net6.0+ 安装中文智能提示

https://github.com/stratosblue/IntelliSenseLocalizer 1、安装tool dotnet tool install -g islocalizer 2、 安装IntelliSense 文件,安装其他net版本修改下版本号 安装中文net6.0采集包 islocalizer install auto -m net6.0 -l zh-cn 安装中英文双语net6.0采集包…

【建模与仿真】二阶邻居节点信息驱动的节点重要性排序算法

导读: 在复杂网络中,挖掘重要节点对精准推荐、交通管控、谣言控制和疾病遏制等应用至关重要。为此,本文提出一种局部信息驱动的节点重要性排序算法Leaky Noisy Integrate-and-Fire (LNIF)。该算法通过获取节点的二阶邻居信息计算节点重要性&…

指令微调Qwen3实现文本分类任务

参考文档: SwanLab入门深度学习:Qwen3大模型指令微调 - 肖祥 - 博客园 vLLM:让大语言模型推理更高效的新一代引擎 —— 原理详解一_vllm 原理-CSDN博客 概述 为了实现对100个标签的多标签文本分类任务,前期调用gpt-4o进行prom…

【机器学习-3】 | 决策树与鸢尾花分类实践篇

0 序言 本文将深入探讨决策树算法,先回顾下前边的知识,从其基本概念、构建过程讲起,带你理解信息熵、信息增益等核心要点。 接着在引入新知识点,介绍Scikit - learn 库中决策树的实现与应用,再通过一个具体项目的方式来…

【数字投影】折幕影院都是沉浸式吗?

折幕影院作为一种现代化的展示形式,其核心特点在于通过多块屏幕拼接和投影融合技术,打造更具包围感的视觉体验。折幕影院设计通常采用多折幕结构,如三折幕、五折幕等,利用多台投影机的协同工作,呈现无缝衔接的超大画面…

数据结构——图(三、图的 广度/深度 优先搜索)

一、广度优先搜索(BFS)①找到与一个顶点相邻的所有顶点 ②标记哪些顶点被访问过 ③需要一个辅助队列#define MaxVertexNum 100 bool visited[MaxVertexNum]; //访问标记数组 void BFSTraverse(Graph G){ //对图进行广度优先遍历,处理非连通图的函数 for(int i0;i…

直击WAIC | 百度袁佛玉:加速具身智能技术及产品研发,助力场景应用多样化落地

7月26日,2025世界人工智能大会暨人工智能全球治理高级别会议(WAIC)在上海开幕。同期,由国家地方共建人形机器人创新中心(以下简称“国地中心”)与中国电子学会联合承办,百度智能云、中国联通上海…

2025年人形机器人动捕技术研讨会将在本周四召开

2025年7月31日爱迪斯通所主办的【2025人形机器动作捕捉技术研讨会】是携手北京天树探界公司线下活动结合线上直播的形式,会议将聚焦在“动作捕捉软硬件协同,加速人形机器人训练”,将深度讲解多项核心技术,包含全球知名的惯性动捕大…