linux网络服务综合项目
前期环境配置 #主要写了192.168.146.130的代码,131的配置代码和其一样
[root@server ~]# nmtui #通过图形化界面修改ens160的ip 192.168.146.130
[root@server ~]# hostnamectl set-hostname Server-Web #修改130主机名为Server-Web
[root@server ~]# vim /etc/hosts #修改hosts映射
127.0.0.1 Server-Web
192.168.146.130 Server-Web
192.168.146.131 Server-NFS-DNS
[root@server ~]# reboot 重启系统
[C:\~]$ ssh root@192.168.146.130
[root@Server-Web ~]# systemctl start firewalld #开启防火墙
[root@Server-Web ~]# systemctl enable firewalld
[root@client ~]# vim /etc/hosts
127.0.0.1 Server-Web
192.168.146.130 Server-Web
192.168.146.131 Server-NFS-DNS
[root@client ~]# reboot
[root@Server-Web ~]# setenforce 0 #130关闭selinux
[root@Server-Web ~]# getenforce
[root@Server-NFS-DNS ~]# setenforce 1 #131开启selinux
[root@Server-NFS-DNS ~]# getenforce
[root@Server-Web ~]# vim /etc/chrony.conf #校对网站填写阿里云
server ntp.aliyun.com iburst # 更改第三行
[root@Server-Web ~]# systemctl restart chronyd
[root@Server-Web ~]# chronyc sources -v 
#通过网络重新校对时间,使用第一个回应的网站的时间(↑)
[root@Server-Web ~]# timedatectl status #查看时间
[root@Server-Web ~]# ssh-keygen -t rsa #生成公私钥
[root@Server-Web ~]# ssh-copy-id 192.168.146.131 #将公私钥给131主机

[root@Server-Web ~]# ssh 192.168.146.131 #登录131查看是否能够ssh免密登录

DNS端同理

在https://cn.wordpress.org/官网下载博客软件压缩包并通过xftp从windows传输到DNS端根目录上(根目录往往会自带x权限便于执行)解压缩
[root@Server-NFS-DNS ~]# cd /
[root@Server-NFS-DNS /]# unzip wordpress-6.3.2-zh_CN.zip &> /dev/null
#因为解压文件过多,将其隐藏

配置nfs共享从而将DNS端的/wordpress目录共享给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.146.130(rw,sync,all_squash)
#允许客户端读写,并且数据同步写到服务器端的磁盘里(↑)
[root@Server-NFS-DNS ~]# chmod -Rf 777 /wordpress
#修改/wordpress所有人都有rwx权限并且不显示错误信息(↑)
#防火墙添加服务放行(↓)
[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 restart rpcbind #启动服务
[root@Server-NFS-DNS ~]# systemctl restart nfs-server
[root@Server-NFS-DNS ~]# chcon -t httpd_sys_content_t /wordpress -Rv &> /dev/null
#设置selinux安全上下文并隐藏显示(因为会输出很多行内容)(↑)
[root@Server-Web ~]# yum install rpcbind -y &> /etc/null
[root@Server-Web ~]# echo $? #如果状态码为0代表安装成功
[root@Server-Web ~]# yum install nfs-utils -y &> /dev/null
[root@Server-Web ~]# echo $?
[root@Server-Web ~]# showmount -e 192.168.146.131 #查看nfs服务器共享的文件
[root@Server-Web ~]# mkdir /wp #创建要放置共享文件的目录
[root@Server-Web ~]# mount -t nfs 192.168.146.131:/wordpress /wp

#执行该处时被DNS端拒绝挂载,多次排错后发现是DNS端配置的命令systemctl restart rpcbind和nfs-server restart写成了start(↑)

[root@Server-Web ~]# firewall-cmd --permanent --zone public --add-service=http
#防火墙设置http服务放行(↑)
[root@Server-Web ~]# firewall-cmd --reload 重启服务
[root@Server-Web ~]# vim /etc/httpd/conf/httpd.conf # 编辑http配置文件
124 DocumentRoot "/wp" #修改第124和129行的内容
129 <Directory "/wp">
[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
#分别修改从23行开始往下的2个名字1个密码(↑)
23 #define( 'DB_NAME', 'database_name_here' );
24 define( 'DB_NAME', 'wordpress' ); #wordpress数据库名称
25
26 /** Database username */
27 #define( 'DB_USER', 'username_here' );
28 define( 'DB_USER', 'test1' ); #mysql数据库用户名
29
30 /** Database password */
31 #define( 'DB_PASSWORD', 'password_here' );
32 define( 'DB_PASSWORD', '123' ); #mysql数据库密码
[root@Server-Web ~]# systemctl start mariadb #执行时显示服务未找到
[root@Server-Web ~]# rpm -qa | grep -i mysql #发现是安装了mysql
[root@Server-Web ~]# yum remove mysql-common.x86_64 #删除后服务依旧显示未找到
[root@Server-Web ~]# yum install mariadb-server -y #发现是LAMP环境软件未安装
[root@Server-Web ~]# mysql #安装后启动mysql数据库
MariaDB [(none)]> create database wordpress; #创建数据库
MariaDB [(none)]> create user 'test1'@'localhost' identified by '123';
# 第一个' '为数据库账号,@后面的' '内容为数据库可以登录的地址,localhost意为只能本机登录。用户和密码与wordpress配置文件一样(↑)
MariaDB [(none)]> grant all on wordpress.* to 'test1'@'localhost'; #给用户授权
MariaDB [(none)]> exit
[root@Server-Web ~]# systemctl restart mariadb 重启数据库和http
[root@Server-Web ~]# systemctl start httpd
[root@Server-Web ~]# yum install php-mysqli -y #发现没有mysql扩展于是安装一下(↓)

#windows->浏览器输入网址192.168.146.130访问WordPress博客网站填写信息继续安装(↓)


[root@Server-NFS-DNS ~]# firewall-cmd --permanent --zone public --add-service=dns
[root@Server-NFS-DNS ~]# firewall-cmd --reload #防火墙放行dns服务并重启
[root@Server-NFS-DNS ~]# systemctl restart named
[root@Server-NFS-DNS ~]# vim /etc/named.conf
12 listen-on port 53 { any; }; 将127环回测试和只允许本机改成any任意主机(↓)
19 allow-query { any; };
zone "openlab.com" IN #将该文件内容清空并设置openlab.com
{
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 #添加正向解析为web服务器
$TTL 1D
@ IN SOA openlab.com. admin.openlab.com (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.openlab.com.
ns IN A 192.168.146.130
www IN A 192.168.146.130
bbs IN A 192.168.146.130
[root@Server-Web ~]# vim /etc/resolv.conf #修改web端DNS为192.168.146.131
# Generated by NetworkManager
nameserver 192.168.146.131
#最后windows访问www.openlab.com不能显示内容(↓)

#而web端可以通过fox浏览器访问www.openlab.com

相关文章:
linux网络服务综合项目
前期环境配置 #主要写了192.168.146.130的代码,131的配置代码和其一样 [rootserver ~]# nmtui #通过图形化界面修改ens160的ip 192.168.146.130 [rootserver ~]# hostnamectl set-hostname Server-Web #修改130主机名…...
每日一题(LeetCode)----数组--移除元素(三)
每日一题(LeetCode)----数组–移除元素(三) 1.题目([283. 移动零](https://leetcode.cn/problems/sqrtx/)) 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请…...
AI:57-基于机器学习的番茄叶部病害图像识别
🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...
人工智能-深度学习计算:层和块
我们关注的是具有单一输出的线性模型。 在这里,整个模型只有一个输出。 注意,单个神经网络 (1)接受一些输入; (2)生成相应的标量输出; (3)具有一组相关 参数…...
Linux第一个小程序进度条
缓冲区 在写进度条程序之前我们需要介绍一下缓冲区,缓冲区有两种,输入和输出缓冲区,这里主要介绍输出缓冲区。在我们用C语言写代码时,输出一些信息,实际上是先输出到输出缓冲区里,然后才输出到我们的显…...
JavaEE平台技术——预备知识(Maven、Docker)
JavaEE平台技术——预备知识(Maven、Docker) 1. Maven2. Docker 在观看这个之前,大家请查阅前序内容。 😀JavaEE的渊源 😀😀JavaEE平台技术——预备知识(Web、Sevlet、Tomcat) 1. M…...
【ChatOCR】OCR+LLM定制化关键信息抽取(附开源大语言模型汇总整理)
目录 背景技术方案存在的问题及解决思路关键信息提取结果其他解决方案替换文心一言LangChain大型多模态模型(Large Multimodal Model, LMM) 开源大模型汇总LLaMA —— Meta 大语言模型Stanford Alpaca —— 指令调优的 LLaMA 模型Lit-LLaMA —— 基于 na…...
【位运算】XOR Construction—CF1895D
XOR Construction—CF1895D 参考文章 翻译 题目要求构造一个长度为 n n n 的数组 b b b,满足以下条件: 数组 b b b 中包含从 0 0 0 到 n − 1 n-1 n−1 的每个整数,且每个整数仅出现一次;对于 i i i 从 1 1 1 到 n − …...
解决Visual Studio Code 控制台中文乱码问题
C和CPP运行编码指定 "code-runner.executorMap": {"c": "cd $dir && gcc -fexec-charsetGBK $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt","cpp": "cd $dir && g -fexec-charsetGBK $…...
React Native自学笔记
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…...
程序员笔记本电脑选 windows 还是 MAC
计算机选择是每个进入 IT 行业同学的第一个重要选择,那么你是怎么选择的呢? 选择操作系统(Windows还是macOS)取决于程序员的需求、偏好和工作流程。每个操作系统都有其优点和缺点,下面将分别讨论它们,以帮助…...
蓝桥杯每日一题2023.11.5
题目描述 方格分割 - 蓝桥云课 (lanqiao.cn) 题目分析 对于每个图我们可以从中间开始搜索,如果到达边界点就说明找到了一种对称的方法,我们可以直接对此进行答案记录每次进行回溯就会找到不同的图像,如果是一样的图像则算一种情况ÿ…...
多媒体应用设计师 2023年(含答案回忆版)
以下是小红书上的回忆版 软考考完疯狂回忆,多媒体应用设计师选择题 1.pattern 2.effective 3.merge 4.applications 5.graphic 6.udp 7.rtp 8.rtsp 9.10cm 10.永久 11…97 12.工作技术管理标准 13.管理型元数据 14.premiere 15.wave 16.500km/h 17.3M 18.44000 19.…...
[Machine Learning][Part 8]神经网络的学习训练过程
目录 训练过程 一、建立模型: 二、建立损失函数 J(w,b): 三、寻找最小损失函数的(w,b)组合 为什么需要激活函数 激活函数种类 二分法逻辑回归模型 线性回归模型 回归模型 训练过程 一、建立模型: 根据需求建立模型,从前面神经网络的…...
Git 内容学习
一、Git 的理解 Git是一个分布式版本控制系统(Distributed Version Control System,简称 DVCS),用于对项目源代码进行管理和跟踪变更。分为两种类型的仓库:本地仓库和远程仓库。 二、Git 的工作流程 详解如下&#x…...
Zookeeper3.7.1分布式安装部署
上传安装文件到linux系统上面 解压安装文件到安装目录 [zhangflink9wmwtivvjuibcd2e package]$ tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/software/3. 修改解压文件名 [zhangflink9wmwtivvjuibcd2e software]$ mv apache-zookeeper-3.7.1-bin/ zookeeper-3.7…...
CSS必学:元素之间的空白与行内块的幽灵空白问题
作者:WangMin 格言:努力做好自己喜欢的每一件事 CSDN原创文章 博客地址 👉 WangMin 我们在开发的过程中,难免会出现一些难以预料的问题。那么其中,CSS空白现象就是非常常见的问题之一。虽然它已经被发现很久,但仍然有许多新手和经…...
C++类中对构造函数的重载
C类中对构造函数的重载 C 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不…...
QtC++与QLabel详解
介绍 QLabel 类是Qt中的一个用于显示文本或图像的控件类,通常用于用户界面中以提供静态文本或图片显示的功能。以下是对QLabel在Qt中的作用的详细解释: 文本和图像显示: QLabel 可以用来显示文本和图像。这使得它成为显示标签、标题、说明或…...
090基于web+springboot的中小企业设备管理系统
欢迎大家关注,一起好好学习,天天向上 文章目录 一项目简介技术介绍 二、功能组成三、效果图四、 文章目录 一项目简介 本中小企业设备管理系统管理员有个人中心,用户管理,员工管理,设备信息管理,配件信息管…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
