2024真机项目

2024-06-10 04:36
文章标签 项目 2024 真机

本文主要是介绍2024真机项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目需求:

1. 172.25.250.101 主机上的 Web 服务要求提供 www.exam.com 加密站点,该站点在任何路由可达 的主机上被访问,页面内容显示为 "Hello,Welcome to www.exam.com !",并提供 content.exam.com/yum/AppStream和content.exam.com/yum/BaseOS URL 作为网络仓库供所 有主机使用。
2. 172.25.250.102 主机提供的 NTP 服务将本主机作为服务器,对外提供 NTP 服务,并设置本服务器 为 3 层。
3. 172.25.250.103 主机提供的MySQL 数据库服务使用源码安装官方 mysql-8.4.0 版,并将数据库密 码设定为 redhat。创建名称为 bbs 的数据库提供给论坛服务使用。
4. 172.25.250.104 主机提供 NFS 服务,该服务将导出本地的 /bbs 目录作为论坛数据目录,该导出指 定只能论坛所在主机使用,并且开机自动挂载。
5. 172.25.250.105 主机提供 DNS 服务,该服务需要提供对项目中所有主机名的正向和反向解析,并 要求所有服务器的 DNS 配置为该 DNS 服务器。
6. 172.25.250.106 主机提供 PXE 自动化部署服务,其他两台服务器的系统安装由该服务提供。
7. 172.25.250.107 主机提供基于 Discuz 的论坛服务,该论坛服务使用 172.25.250.103 主机提供的数 据库 bbs,使用 172.25.250.104 主机提供的 NFS 作为论坛数据目录,并开机挂载。并使用 172.25.250.101 主机提供的网络仓库,172.25.250.102 主机提供的 NTP 服务,172.25.250.105 主 机提供的 DNS 服务。
8. 172.25.250.108 主机作为客户端出现,并使用 172.25.250.101 主机提供的网络仓库, 172.25.250.102 主机提供的 NTP 服务,172.25.250.105 主机提供的 DNS 服务。
9. 根据所有服务的相关代码,编写一键部署shell脚本,最基础的功能为 通过执行该脚本实现所有上面 服务。
10. 扩展需求:根据所有服务的相关代码,编写Ansible 角色 exam,通过该角色快速部署上面所有服 务。 其他注意事项 所有服务器的防火墙服务和 SELinux 服务必须开启。 所有服务器提供的网络服务必须在系统重启后仍然可以正常提供服务。

环境拓扑结构

主机环境描述

注意:

172.25.250.101-172.25.250.106 共 6 个 IP 地址由servera.exam.com服务器进行提供。

172.25.250.107 由 serverb.exam.com 服务器进行提供。

172.25.250.108 由 serverc.exam.com 服务器进行提供。

项目需求描述

1.配置网络

[root@server ~]# nmcli connection modify ens32 ipv4.addresses 172.25.250.101/24 ipv4.method manual ipv4.gateway 172.25.250.2 ipv4.dns 172.25.250.105 connection.autoconnect yes
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.102/24
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.103/24
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.104/24
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.105/24
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.106/24
[root@server ~]# nmcli connection up ens32

登录172.25.250.101

2.配置DNS

2.1安装软件包(这里下载软件包注意网关是否改为自己电脑的网关)

[root@server ~]# dnf install bind -y

 2.2放行防火墙规则

[root@server ~]# systemctl start firewalld
[root@server ~]# firewall-cmd --permanent --add-service=dns
success
[root@server ~]# firewall-cmd --reload
success
[root@server ~]# 

2.3 配置DNS服务          

[root@server ~]# cat /etc/named.conf
options {listen-on port 53 { 172.25.250.105; };directory "/var/named";
};
zone "exam.com" IN {type master;file "named.exam";
};
[root@server ~]# cat /var/named/named.exam
$TTL 1D
@ IN SOA  @   admin.exam.com. (0531015 )IN 	 NS dns.exam.com.
dns  		IN	A  172.25.250.105
content 	IN  	A  172.25.250.101
www 		IN  	A  172.25.250.101
ntp 		IN  	A  172.25.250.102
mysql  		IN 	A  172.25.250.103
nfs		 IN  	A  172.25.250.104
pxw 		IN  	A  172.25.250.106
bbs 		IN  	A  172.25.250.107
workstation  	IN 	A  172.25.250.108
[root@server ~]# systemctl restart named /重启named/

 3、配置 Web 服务 

[root@server ~]# dnf install httpd -y
[root@server ~]#  grep ServerName /etc/httpd/conf/httpd.conf 
# ServerName gives the name and port that the server uses to identify itself.
ServerName www.example.com:80

将图中画箭头一行的#去掉

   

[root@server ~]# systemctl restart httpd
[root@server ~]# echo "Hello,Welcome to www.exam.com !" > /var/www/html/index.html
[root@server ~]# firewall-cmd --permanent --add-service=http
success
[root@server ~]# firewall-cmd --reload
success
[root@server ~]# curl www.exam.com
Hello,Welcome to www.exam.com !

4、配置 YUM 仓库                                                                         

[root@server ~]# mkdir /var/www/html/yum
[root@server ~]# mount /dev/sr0 /var/www/html/yum
mount: /var/www/html/yum: WARNING: source write-protected, mounted read-only.
[root@server ~]# cat /etc/yum.repos.d/rpm.repo 
[openEuler-everything]
name=openEuler-everything
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/everything/x86_64/
enabled=1
gpgcheck=0
gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/everything/x86_64/RPM-GPG-KEY-openEuler[openEuler-EPOL]
name=openEuler-epol
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/EPOL/main/x86_64/
enabled=1
gpgcheck=0[openEuler-update]
name=openEuler-update
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/update/x86_64/
enabled=1
gpgcheck=0
[root@server ~]# vim /etc/yum.repos.d/rpm.repo 

以上代码详情请参照下面超链接

【汇总贴】openEuler常用repo源 - #24,来自 HLG523653667 - 迁移 - openEuler 论坛为了方便大家快速找到openEuler所需版本的repo源,现将openEuler各版本的repo源进行了整理并归类,具体如下: 1、长期支持版本: openEuler-20.03-LTS: repo源 openEul…icon-default.png?t=N7T8https://forum.openeuler.org/t/topic/768/24

5、配置时间服务器   

   server主机配置服务器端                                                                  

[root@server ~]# vim /etc/chrony.conf

 改下图           

[root@server ~]# systemctl enable chronyd
[root@server ~]# firewall-cmd --permanent --add-service=ntp
success
[root@server ~]# firewall-cmd --reload
success
[root@server ~]# systemctl restart chronyd
[root@server ~]# 

node主机配置客户端  

node主机配置网络172.25.250.107/24                                                                                                       

[root@node ~]# vim /etc/chrony.conf

进入/etc/chrony.conf文件改下图中的一行

                                                                                                                                        


[root@node ~]# systemctl restart chronyd
[root@node ~]# systemctl enable chronyd
[root@node ~]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 172.25.250.102                3   6    17    13    +21us[+5190ns] +/-  133us
[root@node ~]# 

6、配置数据库服务器                                                                     

[root@server ~]# groupadd mysql
[root@server ~]# useradd -r -g mysql -s /b
bin/  boot/ 
[root@server ~]# useradd -r -g mysql -s /bin/false mysql
[root@server ~]# tar xvf mysql-8.4.0.tar.gz
[root@server /]# cd  mysql-8.4.0/
[root@server mysql-8.4.0]# mkdir bld
[root@server mysql-8.4.0]# cd bld/
[root@server ~]# yum install mysql-server -y
[root@server ~]# systemctl start mysqld 

 解压MySQL8.4.0之前,打开xftp,将下载的软件包拖到虚拟机的根目录再进行解压

 
 

[root@server ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.37 Source distributionCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> alter user root@localhost identified by 'redhat';  /更改或设置MySQL登录密码
Query OK, 0 rows affected (0.01 sec)mysql> update mysql.user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> flush peivileges;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'peivileges' at line 1
mysql> show databases-> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)
mysql> create database bbs;
Query OK, 1 row affected (0.00 sec)

更改防火墙规则

[root@server ~]# firewall-cmd --permanent --add-service=mysql
success
[root@server ~]# firewall-cmd --reload
success
[root@server ~]# 

                                                                                                        7、配置 NFS 服务器                                                                     

[root@server bld]# mkdir /bbs
[root@server bld]# chmod 777 /bbs/
[root@server bld]# vim /etc/exports
[root@server bld]# cat /etc/exports
/bbs   bbs.exam.com(rw)
[root@server bld]# systemctl start nfs-server
[root@server bld]# showmount -e nfs.exam.com
Export list for nfs.exam.com:
/bbs bbs.exam.com
[root@server bld]# firewall-cmd --permanent --add-service=nfs
success
[root@server bld]# firewall-cmd --permanent --add-service=mountd 
success
[root@server bld]# firewall-cmd --permanent --add-service=rpc-bind 
success 
[root@node ~]# showmount -e nfs.exam.com
Export list for nfs.exam.com:
/bbs bbs.exam.com
[root@node ~]# mount nfs.exam.com:/bbs /var/www/html/
[root@node ~]# df -h /var/www/html/
Filesystem         Size Used Avail Use% Mounted on
nfs.exam.com:/bbs   44G   10G   35G  23% /var/www/html
[root@node ~]# tail -1 /etc/fstab 
nfs.exam.com:/bbs   /var/www/html       nfs   defaults  0 0
[root@node ~]# reboot
[root@node ~]# Connection closing...Socket close.
[root@node ~]# df -h /var/www/html/
Filesystem         Size Used Avail Use% Mounted on
nfs.exam.com:/bbs   44G   11G   34G  25% /var/www/html

   8、配置论坛服务器                                                                    

[root@node ~]# dnf install httpd php php-mysqlnd -y
[root@node ~]# cp Discuz_X3.5_SC_UTF8_20230520.zip /var/www/html/
[root@node ~]# cd /var/www/html/
[root@node  html]# ll
total 11500
-rw-r--r--. 1 nobody nobody 11775903 May 10 13:02 
Discuz_X3.5_SC_UTF8_20230520.zip
[root@node html]# unzip Discuz_X3.5_SC_UTF8_20230520.zip 
Archive: Discuz_X3.5_SC_UTF8_20230520.zipinflating: LICENSE                 inflating: qqqun.png               creating: readme/inflating: readme.html             inflating: readme/changelog.txt    
[root@node html]# cd upload/
[root@node upload]# chmod 777 data/ uc_server/ uc_client/ config/ -R
[root@node upload]# setsebool -P httpd_use_nfs 1
[root@node upload]# systemctl start --now httpd
[root@node upload]# firewall-cmd --permanent --add-service=http
success
[root@node upload]# firewall-cmd --reload 
success
[root@node ~]# setsebool -P httpd_can_network_connect_db 1

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

这篇关于2024真机项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047231

相关文章

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Spring Boot项目如何使用外部application.yml配置文件启动JAR包

《SpringBoot项目如何使用外部application.yml配置文件启动JAR包》文章介绍了SpringBoot项目通过指定外部application.yml配置文件启动JAR包的方法,包括... 目录Spring Boot项目中使用外部application.yml配置文件启动JAR包一、基本原理

Springboot项目登录校验功能实现

《Springboot项目登录校验功能实现》本文介绍了Web登录校验的重要性,对比了Cookie、Session和JWT三种会话技术,分析其优缺点,并讲解了过滤器与拦截器的统一拦截方案,推荐使用JWT... 目录引言一、登录校验的基本概念二、HTTP协议的无状态性三、会话跟android踪技术1. Cook

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放