综合项目---博客
一.运行环境
192.168.32.132 Server-Web linux Web
192.168.32.133 Server-NFS-DNS linux NFS/DNS
基础配置
1.配置主机名+静态ip
2.开启防火墙并配置
3.部分开启selinux并配置
4.服务器之间通过阿里云进行时间同步
5.服务器之间实现ssh免密登录
业务需求
1.Server-web主机配置Web服务,通过域名www.opelab.com可以访问到自己建的博客网站
2.Server-NFS-DNS主机配置NFS服务,将博客网站资源共享给Server-web主机,同时配置DNS服务
二.准备工作(基本配置)
2.1.修改主机名同时进行host映射
[root@Server ~]#hostnamectl set-hostname Server-web
[root@node ~ ]#hostnamectl set-hostname Server-NFS-DNS
在两个主机中进行host映射
#vim  /etc/hosts
#reboot 

2.2.配置静态ip
[root@Server-NFS-DNS ~]# nmcli c mod ens32 ipv4.method manual ipv4.address 192.168.32.133/24 ipv4.gateway 192.168.32.2 ipv4.dns 114.114.114.114
[root@Server-NFS-DNS ~]# nmcli c reload
[root@Server-NFS-DNS ~]# nmcli c up ens32[root@Server-web ~]# nmcli c mod ens32 ipv4.method manual ipv4.address 192.168.32.132/24 ipv4.gateway 192.168.32.2 ipv4.dns 192.168.32.133
[root@Server-web ~]# nmcli c reload
[root@Server-web ~]# nmcli c up ens32#查看DNS:[root@Server-NFS-DNS ~]# vim  /etc/sysconfig/network-scripts/ifcfg-ens32 
 
2.3.防火墙和selinux设置
#开启防火墙,两个主机都操作
systemctl start firewalld
systemctl enable firewalld#开启selinux,Server-web端关闭,Server-NFS-DNS端开启
关闭:setenforce 0
开启:setenforce 1#若是开启失败,则:
[root@Server-NFS-DNS ~]#yum install selinux-policy selinux-policy-targeted -y
[root@Server-NFS-DNS ~]#vim /etc/seliux/config
SELINUX=permissive
[root@Server-NFS-DNS ~]#touch /.autorelabel
[root@Server-NFS-DNS ~]#reboot 
2.4.进行阿里云时间同步
#两台主机都操作
#yum install chrony -y
#vim /etc/chrony.conf
server ntp.aliyun.com iburst
#systemctl restart chronyd
#chronyc sources -v
#timedatectl status 


2.5.ssh免密登录
[root@Server-NFS-DNS ~]# ssh-keygen -t rsa
[root@Server-NFS-DNS ~]# ssh-copy-id 192.168.32.132[root@Server-web ~]# ssh-keygen -t rsa
[root@Server-web ~]# ssh-copy-id 192.168.32.133
 

三.环境搭建
1.Server-web端环境搭建设置
[root@Server-web ~]#yum install nginx mariadb-server php* -y
 
2.Server-NFS-DNS端的环境搭建设置
博客压缩包下载链接: Release Archive | WordPress.org China 简体中文
[root@Server-NFS-DNS ~]# cd /
[root@Server-NFS-DNS ~]# unzip wordpress-6.1-zh_CN.zip
 
四.NFS服务搭建
1.将服务端的/wordpress目录共享给客户端192.168.32.1-web)
[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.32.132(rw,sync,all_squash)
#设置权限
[root@Server-NFS-DNS ~]# chmod -Rf 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-utils
#设置zseliux的上下文文件
[root@Server-NFS-DNS ~]# ls -Z /usr/share/nginx/html
[root@Server-NFS-DNS ~]# chcon -t httpd_sys_content_t /wordpress -Rv
R代表递归修改目录,v表示显示修改提示
 
2.远程目录的挂载
#临时挂载
[root@Server-web ~]# yum install nfs-utils -y
[root@Server-web ~]# showmount -e 192.168.32.133
[root@Server-web ~]# mkdir -pv /wp
[root@Server-web ~]# mount -t nfs 192.168.32.133:/wordpress /wp
[root@Server-web ~]# cd /wp
[root@Server-web ~]# ll 
若是想开机自动挂载,可以先查看分区的uuid,
#blkid
编辑开机自动挂载文件:
#vim /etc/fstab
UUID=6b1c1143-4556-46b9-9d44-0a60c993825e / xfs defaults 0 0
五.nginx服务搭建
[root@Server-web ~]# firewall-cmd --permanent --zone public --add-service=http
[root@Server-web ~]# firewall-cmd --permanent --zone public --add-port=80/tcp
[root@Server-web ~]# firewall-cmd --reload
[root@Server-web ~]# vim /etc/ngx/nginx.conf
[root@Server-web ~]#systemctl restart nginx 

六.数据库创建和修改wordpress配置文件
启动数据库:systemctl start mariadb
[root@Server-web ~]#mysql>create database wordpress;  >create user 'test1'@'localhost' identified by '1234';>grant all on wordpress.* to 'test1'@'localhost';  #授权>exit 
修改wordpress 配置文件
[root@Server-web ~]#cd /wp
[root@Server-web wp]#cp wp-config-sample.php wp-config.php
[root@Server-web wp]#vim wp-config.php
 

systemctl restart mariadb
systemctl restart nginx
七.使用IP地址进行测试

八.DNS服务搭建
[root@Server-NFS-DNS ~]# yum install bind -y
[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone pulic --add-servce=dns
[root@Server-NFS-DNS ~]# firewall-cmd --reload
[root@Server-NFS-DNS ~]# systemctl start named
[root@Server-NFS-DNS ~]# vim /etc/named.conf
[root@Server-NFS-DNS ~]# vim /etc/named.rfc1912.zones
[root@Server-NFS-DNS ~]# cd /var/named
[root@Server-NFS-DNS ~]# cp -a named.localhost openlab.com
[root@Server-NFS-DNS named]# vim openlab.com
[root@Server-NFS-DNS ~]# systemctl restart named
 

 
 
九.使用域名进行测试

 如果想要在windows系统上测试,需要手动更改dns为192.168.32.133
相关文章:
综合项目---博客
一.运行环境 192.168.32.132 Server-Web linux Web 192.168.32.133 Server-NFS-DNS linux NFS/DNS 基础配置 1.配置主机名静态ip 2.开启防火墙并配置 3.部分开启selinux并配置 4.服务器之间通过阿里云进行时间同步 5.服务器之间实现ssh免密…...
leetcode(矩阵)74. 搜索二维矩阵(C++详细解释)DAY7
文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中…...
超详细||YOLOv8基础教程(环境搭建,训练,测试,部署看一篇就够)(在推理视频中添加FPS信息)
一、YOLOv8环境搭建 这篇文章将跳过基础的深度学习环境的搭建,如果没有完成的可以看我的这篇博客:超详细||深度学习环境搭建记录cudaanacondapytorchpycharm-CSDN博客 1. 在github上下载源码: GitHub - ultralytics/ultralytics: NEW - YO…...
LeetCode171. Excel Sheet Column Number
文章目录 一、题目二、题解 一、题目 Given a string columnTitle that represents the column title as appears in an Excel sheet, return its corresponding column number. For example: A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … Exa…...
pycharm创建py文件,自动带# -*- coding:utf-8 -*-
File–Settings...
希捷与索尼集团合作生产HAMR写头激光二极管
最近有报道指出,希捷(Seagate)在生产其采用热辅助磁记录(HAMR)技术的大容量硬盘时,并非所有组件都在内部制造。根据日经新闻的一份新报告,希捷已与索尼集团合作,由索尼为其HAMR写头生…...
电脑竖屏显示了怎么回复原状
电脑屏幕变成这样 怎么恢复原状? 1、登录系统 2、在桌面上空白点击鼠标右键 3、在右键菜单中选择“屏幕分辨率”,左键点击打开 4、在窗口中“方向”位置选择“横向” 5、保存设置win7桌面即可恢复到正常状态...
Elasticsearch从入门到精通
目录 🧂1.简单介绍 🥓2.安装与下载 🌭3.安装启动es 🍿4.安装启动kibana 🥞5.初步检索 🧈6.进阶检索 🫓7.Elasticsearch整合 1.简单介绍🚗🚗🚗 Elat…...
Halcon 相机标定
文章目录 算子单相机标定单相机标定畸变的矫正 算子 gen_caltab 生成标定文件 gen_caltab(::XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile :) 算子来制作一个标定板XNum 每行黑色标志圆点的数量。YNum 每列黑色标志圆点的数…...
【JavaScript】深浅拷贝
JavaScript中复制对象有深拷贝和浅拷贝两种方式 浅拷贝:浅拷贝只复制对象的第一层属性,而不复制嵌套对象的引用。这意味着如果原始对象包含嵌套对象,浅拷贝后的对象仍然会共享这些嵌套对象的引用。可以使用`Object.assign()`或展开运算符(`...`)来进行浅拷贝。 // 浅拷贝示…...
CH32V3xx RT-Thread RS485实现modbus rtu master
目录 1、串口配置1.1 串口初始化1.2 uart DMA 初始化1.1.3 发送函数2、agile modbus3、应用测试4、遇到的问题本文通过ch32v3xx的串口 + RS485收发器实现modbus rtu master设备。此工程中移植的RT-Thread Nano系统,详情可参看本专栏前几篇文章。 1、串口配置 串口使用重映射后…...
当网站遭到DDOS攻击怎么办?
一般网站进行上线后会经常遭到攻击,有一些攻击不怎么容易被发现,当大规模的攻击来临时,会给企业造成巨大的损失,使网站的业务下线并且访问异常,出现很多的问题。 其中DDOS攻击是最高频的一种网络攻击方式,那…...
ES6中的数组解构赋值【详解】
文章目录 1.数组的解构赋值1.1 基本用法1.2 默认值1.3更多对象解构赋值 1.数组的解构赋值 1.1 基本用法 ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称为结构。 let [a, b, c] [1, 2, 3];如果解构不成功,…...
error An unexpected error occurred: “https://registry.npm.taobao.org
背景: 想使用yarn命令结果报错 问题原因: 原来证书到期了 http://registry.npm.taobao.org/ 把这个放到浏览器搜索的时候自动换成https://registry.npmmirror.com/ 方案: npm cache clean --forcenpm config set registry https://registry…...
react中commit工作流程
整个React工作流程可以分为两大阶段: Render阶段 Schecule Reconcile Commit阶段 注意,Render阶段是在内存中运行的,这意味者可以被打断,而commit阶段一旦开始同步执行直到完成。 Renderer工作的阶段被称为commit阶段。commit阶…...
C++类和对象-多态->多态的基本语法、多态的原理剖析、纯虚函数和抽象类、虚析构和纯虚析构
#include<iostream> using namespace std; //多态 //动物类 class Animal { public: //Speak函数就是虚函数 //函数前面加上virtual关键字,变成虚函数,那么编译器在编译的时候就不能确定函数调用了。 virtual void speak() { …...
QShortcut
一、QShortcut简介 QShortcut是Qt框架中提供的一个类,用于创建和管理键盘快捷键。它允许开发者为应用程序定义一组快捷键组合,当用户按下这些组合键时,可以触发相应的动作或事件。QShortcut的使用使得用户能够更加方便、快捷地操作应用程序&…...
浅谈语义分割、图像分类与目标检测中的TP、TN、FP、FN
语义分割 TP:正确地预测出了正类,即原本是正类,识别的也是正类 TN:正确地预测出了负类,即原本是负类,识别的也是负类 FP:错误地预测为了正类,即原本是负类,识别的是正类…...
Python基础教程:解构
嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 我们提到了字典的.items()方法会返回键值对元组的键值对元组列表: dic {key: 1, dsb: alex} print(dic.items())输出的内容为: dict_it…...
Java 学习和实践笔记(12)
这个就比较有意思了!所有的事情,拆分完之后,都有且只有这三种状态流程! //TIP To <b>Run</b> code, press <shortcut actionId"Run"/> or // click the <icon src"AllIcons.Actions.Execute&…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
