Linux云计算 |【第一阶段】SERVICES-DAY1

主要内容:

Web基础应用、Web虚拟主机、NFS服务基础、自动触发挂载

实操环境准备:

① 设置SELinux运行模式

[root@svr7 ~]# getenforce
Permissive
[root@svr7 ~]# cat /etc/selinux/config
SELINUX=permissive
...

② 停止防火墙服务

[root@svr7 ~]# systemctl stop firewalld
[root@svr7 ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

 ③ 检查是否安装httpd软件包并测试

[root@svr7 ~]# yum -y install httpd     //安装软件包
[root@svr7 ~]# rpm -q httpd      //检查是否安装完成
httpd-2.4.6-80.el7.centos.x86_64
[root@svr7 ~]# systemctl restart httpd    //重启服务
[root@svr7 ~]# vim /var/www/html/index.html
[root@svr7 ~]# cat /var/www/html/index.html
你要跳舞吗 -新裤子乐队
[root@svr7 ~]# curl http://192.168.4.7    //访问验证
你要跳舞吗 -新裤子乐队

注意:如果遇到拒绝访问,可能为手动启动方式对systemd产生的影响

[root@svr7 ~]# killall httpd

一、Web服务器简介

Web服务器是一种软件或硬件设备,用于处理客户端(通常是Web浏览器)的HTTP请求,并返回相应的Web页面或其他资源。Web服务器的主要功能是存储、处理和传递Web内容给用户。以下是一些常见的Web服务器软件:

  1. Apache HTTP Server

    • 由Apache软件基金会开发和维护,是最流行的开源Web服务器之一。
    • 支持多种操作系统,包括Linux、Unix和Windows。
    • 具有高度的可配置性和模块化设计,可以通过模块扩展功能。
  2. Nginx

    • 一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
    • 设计用于处理高并发连接,适合作为负载均衡器和反向代理。
    • 资源消耗较低,性能优越,尤其在静态内容和高并发场景下表现出色。
  3. Microsoft Internet Information Services (IIS)

    • 由微软公司开发的Web服务器,主要运行在Windows操作系统上。
    • 集成在Windows服务器产品中,支持ASP.NET和其他微软技术。
    • 提供图形化管理界面,易于配置和管理。

- 基于B/S(Browser/Server)架构的网页服务

- 服务端提供网页

- 浏览器下载并显示网页

  • Hyper Text Markup Language,超文本标记语言
  • Hyper Text Transfer Protocol,超文本传输协议(传输文本、超链接、图片、视频、二进制程序等)

1、Web服务

软件包:httpd(软件基金会Apache提供)

系统服务:httpd

主配置文件:/etc/httpd/conf/httpd.conf   //修改前建议备份

提供的默认配置:

  • [Listen]  监听地址:端口80
  • [ServerName]  本站点注册的DNS名称
  • [DocumentRoot]  网页根目录(/var/www/html)   //网页文件存放路径
  • [DirectoryIndex]  起始页/首页文件名(index.html)

1)独立Web站点的快速部署三步骤

  1. 步骤1:装包(httpd)
  2. 步骤2:配置(部署首页index.html)
  3. 步骤3:启动服务(httpd)

2)访问Web站点

- 为浏览器程序提供URL网址(Uniform Resouce Locator,统一资源定位器)

- 协议名://服务器地址[:端口号]/目录/文件名

3)修改并指定DocumentRoot,网页文件根目录(/var/www/html)

例如:

[root@svr7 ~]# mkdir /var/www/myweb
[root@svr7 ~]# echo Hello World > /var/www/myweb/index.html
[root@svr7 ~]# vim /etc/httpd/conf/httpd.conf   //修改主配置文件
...
DocumentRoot "/var/www/myweb"   //通过【/】检索查找DocumentRoot
...
[root@svr7 ~]# systemctl restart httpd    //修改配置文件后需重启服务
[root@svr7 ~]# curl http://192.168.4.7
Hello World

常见错误:配置文件但凡书写错误,重启服务时则报错

[root@svr7 ~]# systemctl  restart httpd
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
[root@svr7 ~]# journalctl -xe     //通过journalctl -xe工具定位排查故障点

4)基于网页文件目录,进行访问控制

- 当子目录没有规则,默认继承上一级目录规则

- 针对此目录有单独配置,则不继承上一级目录规则

(默认情况下:网页文件只有放在/var/www下可以进行访问)

 ① 规则:上一层目录根目录规则为拒绝所有人访问

<Directory />AllowOverride noneRequire all denied   //拒绝所有人访问
</Directory>

② 规则:目录单独配置规则为允许所有人访问

<Directory "/var/www">AllowOverride None# Allow open access:Require all granted   //允许所有人访问
</Directory>

例如:

[root@svr7 ~]# mkdir /webroot
[root@svr7 ~]# echo Hello Myroot > /webroot/index.html
[root@svr7 ~]# vim /etc/httpd/conf/httpd.conf      //修改主配置文件
DocumentRoot "/webroot"      //指定网页根目录,但未修改规则,则继承上一级目录
[root@svr7 ~]# systemctl restart httpd.service
[root@svr7 ~]# curl http://192.168.4.7    //访问显示为测试页面内容

如图所示:Firefox浏览器显示测试页面内容

[root@svr7 ~]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/webroot"      //指定网页根目录
<Directory "/webroot">       //配置子目录规则配置,允许所有人访问Require all granted
</Directory>
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# curl http://192.168.4.7
Hello Myroot

注意:

- 规则1,单独配置/webroot目录规则,允许所有人访问

当在/webroot/目录规则允许访问情况下,建立子目录,是允许访问;

<Directory    "/webroot">Require all granted      //允许所有人访问
</Directory>

- 规则2 单独配置/webroot/abc目录规则,拒绝所有人访问

当在/webroot/abc目录规则拒绝访问情况下,建立子目录,是拒绝访问;

<Directory    "/webroot/abc">Require all denied     //拒绝所有人访问
</Directory>

访问过程:客户端访问http://192.168.4.7 ---> 服务端192.168.4.7 ---> 80 ---> httpd ---> /etc/httpd/conf/httpd.conf ---> DocumentRoot ---> /webroot ---> index.html

5)网络路径与实际路径

- DocumentRoot:网页文件根目录(起始点)

DocumentRoot —> /webroot (指定起始点为/webroot)

  • 网络路径:curl http://182.168.4.7/abc/haha
  • 实际服务:/webroot/abc/haha

(类似:http://192.168.4.7 = DocumentRoot设置路径)

 例如:

[root@svr7 ~]# mkdir /webroot/abc
[root@svr7 ~]# echo Hello ABC > /webroot/abc/index.html
[root@svr7 ~]# curl http://192.168.4.7
Hello Myroot
[root@svr7 ~]# curl http://192.168.4.7/abc/
Hello ABC

注意:基于原有配置文件DocumentRoot已指定网页根目录/webroot,不需要重启服务

注意:末尾的目录未有补全[/]

常见报错:

[root@svr7 ~]# mkdir /webroot/abc
[root@svr7 ~]# echo Hello ABC > /webroot/abc/index.html
[root@svr7 ~]# curl http://192.168.4.7
Hello Myroot
[root@svr7 ~]# curl http://192.168.4.7/abc/
Hello ABC

6)Listen:监听IP地址:监听端口

- 端口,为所有的协议进行编号,起到标识协议作用;

- 默认端口:http协议(80)、ftp协议(21)

- 建议自定义端口时大于1024,端口的极限65535;

注意:Listen可以监听多个端口,但两个程序例如 httpd 和 nginx 不能监听同一个端口

例如:

[root@svr7 ~]# vim /etc/httpd/conf/httpd.conf
#Listen 12.34.56.78:80
Listen 80
Listen 800   //添加端口800
Listen 8000  //添加端口8000
...
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# curl http://192.168.4.7:80
Hello Myroot
[root@svr7 ~]# curl http://192.168.4.7:800
Hello Myroot
[root@svr7 ~]# curl http://192.168.4.7:8000
Hello Myroot

二、虚拟Web主机

1)虚拟Web主机的含义及类型

作用:由同一台服务器提供多个不同的Web站点;

区分方式:

  • ① 基于域名的虚拟主机
  • ② 基于端口的虚拟主机(优先级最高)
  • ③ 基于IP地址的虚拟主机(两张网卡通信,增加网络通信复杂性)

2)配置虚拟站点

- 配置文件路径:

  • 主配置文件:/etc/httpd/conf/httpd.conf       //修改前, 建议先备份
  • 调用配置文件:/etc/httpd/conf.d/*.conf

(Linux在主配置文件增加最后一行:IncludeOptional conf.d/*.conf 调用配置文件)

- 虚拟站点添加配置格式:

<VirtualHost IP地址:端口>ServerName 此站点的DNS名称DocumentRoot 此站点的网页根目录
</VirtualHost>

- 注意事项:提前为每个站点准备好网页目录

3)对默认Web站点的影响

一旦启用虚拟Web主机以后:

① 主配置文件的DocumentRoot、ServerName会被忽略;

② 第1个虚拟站点会被视为默认站点,当客户机请求的URL不属于任何已知的站点,则由第1个站点响应;

4)/etc/host域名配置文件

- 主要存放域名与IP的对应关系

- 采用/etc/hosts文件可直接解析域名,但只为本机解析(当前修改即生效,重启后也生效)

- 记录内容格式:主机IP地址   域名1 域名2..

例如:

[root@svr7 ~]# vim /etc/hosts     //添加一条域名与IP对应记录
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.7 www.LOL.com www.POP.com

示例1:基于域名修改

步骤1:配置虚拟主机调用文件

[root@svr7 ~]# vim /etc/httpd/conf.d/QQ.conf
<VirtualHost *:80>        //在本机所有IP地址监听80端口ServerName www.LOL.com    //网站的域名DocumentRoot /var/www/LOL   //网页文件路径
</VirtualHost><VirtualHost *:80>ServerName www.POP.comDocumentRoot /var/www/POP
</VirtualHost>

步骤2:为虚拟主机创建网页根目录及起始页

[root@svr7 ~]# mkdir /var/www/LOL /var/www/POP
[root@svr7 ~]# vim /var/www/LOL/index.html
[root@svr7 ~]# cat /var/www/LOL/index.html
www.LOL.com
[root@svr7 ~]# vim /var/www/POP/index.html
[root@svr7 ~]# cat /var/www/POP/index.html
www.POP.com

步骤3:重启服务

[root@svr7 ~]# systemctl restart httpd.service

服务验证:

[root@svr7 ~]# curl http://192.168.4.7
www.LOL.com
[root@svr7 ~]# curl http://192.168.4.7:80
www.LOL.com

注意:若客户机请求的URL不属于任何已知的站点,第一个虚拟站点被视为默认站点

常见报错:由于没有域名解析,无法通过域名方式访问

[root@svr7 ~]# curl http://www.LOL.com
curl: (6) Could not resolve host: www.LOL.com; 未知的错误

步骤4:添加本地DNS

[root@svr7 ~]# vim /etc/hosts     //添加一条域名与IP对应记录
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.7 www.LOL.com www.POP.com

服务验证:

[root@svr7 ~]# curl www.LOL.com
www.LOL.com
[root@svr7 ~]# curl www.POP.com
www.POP.com

示例2:基于域名修改

注意:虚拟主机配置后,主配置文件会被忽略,所有的网站都必须使用虚拟Web进行呈现,所以需重新添加原主配置文件的相关配置

[root@svr7 ~]# vim /etc/httpd/conf.d/QQ.conf     //修改调用配置文件
...
<VirtualHost *:80>ServerName www.Music.comDocumentRoot /var/www/html
</VirtualHost>[root@svr7 ~]# vim /etc/hosts     //修改DNS配置文件
192.168.4.7 www.LOL.com www.POP.com www.Music.com                                         [root@svr7 ~]# systemctl restart httpd    //重启httpd服务并验证
[root@svr7 ~]# curl www.Music.com
你要跳舞吗 -新裤子乐队

示例3:基于端口修改(根目录不变,修改监听端口,域名设置同名)

[root@svr7 ~]# vim /etc/httpd/conf.d/QQ.conf
<VirtualHost *:80>     //监听端口80ServerName www.LOL.com   //域名相同DocumentRoot /var/www/LOL
</VirtualHost>Listen 8080      //增加监听端口(也可在/etc/httpd/conf/httpd.conf添加)
<VirtualHost *:8080>     //监听端口8080ServerName www.LOL.com   //域名相同DocumentRoot /var/www/POP
</VirtualHost>
...
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# curl www.LOL.com:80
www.LOL.com
[root@svr7 ~]# curl www.LOL.com:8080
www.POP.com
[root@svr7 ~]# curl 192.168.4.7:8080
www.POP.com

补充:由于端口优先级最高,即使域名错误,也可匹配(注意:一定要加Listen 端口 )

[root@svr7 ~]# curl www.Music.com:8080
www.POP.com

常见报错1:由于没有域名解析,无法通过域名方式访问

[root@svr7 ~]# curl http://www.LOL.com
curl: (6) Could not resolve host: www.LOL.com; 未知的错误

常见报错2:修改配置文件,进行保存退出时,报错无法打开并写入文件

  • 排查思路1:检查是否安装httpd软件;
  • 排查思路2:检查配置文件目录是否存在,路径是否正确;

常见报错3:http://书写错误

[root@svr7 ~]# curl httpd://192.168.4.7
curl: (1) Protocol httpd not supported or disabled in libcurl

常见报错4:重启服务,验证时显示测试页面

  • 排查思路1:检查是否有无index.html起始页
  • 排查思路2:起始页index.html命名是否有误
  • 排查思路3:检查主配置文件中的规则是否做了独立目录访问控制

常见报错5:网页根目录指定路径不存在

  • 排查思路:DocumentRoot指定网页根目录路径是否有误
[root@svr7 ~]# curl www.LOL.com:80
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL / was not found on this server.</p>
</body></html>

如图所示:


案例1:为虚拟机A 配置以下虚拟Web主机

  • 实现三个虚拟Web网站的部署
  • 实现客户端访问server0.example.com网页内容为:server0.example.com
  • 实现客户端访问www0.example.com网页内容为:www0.example.com
  • 实现客户端访问webapp0.example.com网页内容为:webapp0.example.com
[root@svr7 ~]# mkdir /var/www/nsd01 /var/www/nsd02 /var/www/nsd03
[root@svr7 ~]# echo 'server0.example.com' > /var/www/nsd01/index.html
[root@svr7 ~]# echo 'www0.example.com' > /var/www/nsd02/index.html
[root@svr7 ~]# echo 'webapp0.example.com' > /var/www/nsd03/index.html[root@svr7 ~]# vim /etc/httpd/conf.d/nsd.conf
<VirtualHost *:80>ServerName server0.example.comDocumentRoot /var/www/nsd01
</VirtualHost><VirtualHost *:80>ServerName www0.example.comDocumentRoot /var/www/nsd02
</VirtualHost><VirtualHost *:80>ServerName webapp0.example.comDocumentRoot /var/www/nsd03
</VirtualHost>[root@svr7 ~]# systemctl restart httpd    //重启http服务[root@svr7 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.7 server0.example.com www0.example.com webapp0.example.com[root@svr7 ~]# curl www0.example.com
www0.example.com
[root@svr7 ~]# curl server0.example.com
server0.example.com
[root@svr7 ~]# curl webapp0.example.com
webapp0.examp目录le.com

案例2:为虚拟机A 使用自定Web根目录

调整 Web 站点 http://www0.example.com 的网页目录,要求如下:

  • 新建目录 /webroot,作为此站点新的网页目录(提示:修改Web服务的访问控制)
  • 确保站点 http://www0.example.com 仍然可访问
[root@svr7 ~]# mkdir /webroot
[root@svr7 ~]# echo 'I am webroot' > /webroot/index.html
[root@svr7 ~]# cat /webroot/index.html
I am webroot[root@svr7 ~]# vim /etc/httpd/conf.d/NSD.conf
<Directory "/webroot">     //设置目录访问控制权限允许全部访问Require all granted
</Directory>

注意:有关目录访问控制配置,建议新增调用配置文件来设置访问控制,设置允许全部访问,也可以在主配置文件或调用配置文件下进行配置,配置格式:

<Directory "独立目录路径">Require all granted
</Directory>
[root@svr7 ~]# vim /etc/httpd/conf.d/QQ.conf
<VirtualHost *:80>ServerName www0.example.comDocumentRoot /webroot      //指定网页根目录
</VirtualHost>
...
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# curl www0.example.com
I am webroot

案例3:为虚拟机A 部署站点

为站点 webapp0.example.com 进行配置,要求如下:

  • 此虚拟主机侦听在端口8909
  • 从浏览器访问 http://webapp0.example.com:8909
[root@svr7 ~]# vim /etc/httpd/conf.d/QQ.conf
Listen 8909
<VirtualHost *:8909>ServerName webapp0.example.comDocumentRoot /var/www/nsd03
</VirtualHost>
...
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# curl webapp0.example.com:8909
webapp0.example.com

三、NFS服务基础

NFS(Network File System)是一种分布式文件系统协议,允许用户通过网络访问文件,就像这些文件位于本地一样。NFS服务最初由Sun Microsystems开发,现在是一个开放标准,由IETF(Internet Engineering Task Force)维护。

NFS服务的主要功能包括:

  1. 文件共享:NFS允许在网络上的不同计算机之间共享文件和目录。用户可以在客户端计算机上挂载远程服务器上的文件系统,并像使用本地文件系统一样使用它们。

  2. 集中管理:通过NFS,管理员可以将文件集中存储在服务器上,便于管理和备份。这也有助于确保所有用户访问的是相同版本的文件。

  3. 资源共享:NFS可以用于共享存储资源,如磁盘空间、打印机和其他设备,从而提高资源利用率。

  4. 跨平台支持:NFS支持多种操作系统,包括Linux、Unix、macOS和Windows,使得不同平台之间的文件共享变得更加容易。

NFS的工作原理基于客户端-服务器模型:

  • NFS服务器:运行NFS服务器软件的计算机,负责导出(export)文件系统,使客户端可以访问。
  • NFS客户端:运行NFS客户端软件的计算机,通过挂载(mount)远程文件系统来访问服务器上的文件。

NFS使用RPC(Remote Procedure Call)协议进行通信,客户端通过RPC请求访问远程文件系统,服务器通过RPC响应这些请求。

NFS有多个版本,包括NFSv2、NFSv3、NFSv4和NFSv4.1(pNFS),每个版本都有不同的特性和改进,如增强的安全性、更好的性能和更强的跨平台兼容性。

NFS服务在企业环境中广泛用于构建网络存储解决方案,如文件服务器、备份系统和内容管理系统。


1)NFS网络文件系统(Network File System)

  • 用途:为客户机提供共享使用的文件夹
  • 协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
  • 所需软件包:nfs-utils(一般默认安装)
  • 系统服务:nfs-server、rpcbind(依赖服务,相关动态端口)

提前检查客户端与服务器是否已安装:

rpm -q nfs-utils   nfs-utils-1.3.0-0.54.el7.x86_64

2)配置文件解析(/etc/exports)

修改/etc/exports记录内容:

- 格式:文件路径  客户机地址(权限)  客户机地址(权限)..

- 例如:/public  *(ro)      //允许所有客户端进行只读访问

使用exportfs可以重载更新过的配置:

- 命令:exportfs -r

3)访问NFS共享文件夹(客户端)

- 格式:showmount -e 服务器地址    //列出有哪些NFS共享资源

4)手动挂载NFS共享

- 格式:mount 服务器地址:文件夹路径 挂载点

5)开机挂载配置(/etc/fstab)

修改/etc/fstab记录内容:

- 格式:服务器地址:文件夹路径 挂载点 nfs defaults,_netdev 0 0

[ _netdev ]  声明网络设备,系统在具备网络参数后,再进行挂载本设备

注意:挂载内容中,defaults,_netdev之间,一定要加[ , ]


例如1:手动挂载NFS

主机1:

[root@svr7 ~]# rpm -q nfs-utils   //检查是否已安装
nfs-utils-1.3.0-0.54.el7.x86_64
[root@svr7 ~]# mkdir /public
[root@svr7 ~]# touch /public/123.txt
[root@svr7 ~]# ls /public/
123.txt
[root@svr7 ~]# vim /etc/exports
/public  *(ro)     //允许所有客户端进行只读访问
[root@svr7 ~]# systemctl restart nfs-server.service    //重启服务

注意:若有相关RPC报错,因nfs服务依赖rpcbind,所以优先重启此服务

补充:# systemctl restart rpbind 

主机2:

[root@pc207 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.54.el7.x86_64
[root@pc207 ~]# mkdir /mnt/mynfs    //创建挂载点目录[root@pc207 ~]# showmount -e 192.168.4.7   //列出目标服务器的NFS共享资源
Export list for 192.168.4.7:
/public *[root@pc207 ~]# mount 192.168.4.7:/public /mnt/mynfs   //手动挂载NFS共享
[root@pc207 ~]# ls /mnt/mynfs/
123.txt
[root@pc207 ~]# df -h /mnt/mynfs/
文件系统             容量  已用  可用 已用% 挂载点
192.168.4.7:/public   17G  3.5G   14G   21% /mnt/mynfs

例如2:开机自动挂载NFS

主机2:

[root@pc207 ~]# vim /etc/fstab     //修改挂载配置
192.168.4.7:/public /mnt/mynfs nfs defaults,_netdev 0 0
...
[root@pc207 ~]# umount /mnt/mynfs/    //卸载手动挂载
[root@pc207 ~]# ls /mnt/mynfs/
[root@pc207 ~]# mount -a     //检测挂载配置
[root@pc207 ~]# ls /mnt/mynfs/
123.txt

常见报错:客户端访问NFS服务器出现RPC报错

[root@pc207 ~]# showmount -e 192.168.4.7
clnt_create: RPC: Program not registered

解决办法:将NFS服务器的nfs和rpcbind服务进行重启

systemctl restart nfs
systemctl restart rpcbind

四、autofs触发挂载

由autofs服务提供的“按需访问”机制,只要访问挂载点就会触发响应,自动挂载指定设备(稳定性较差),闲置超过时限(RHEL6默认5分钟)后,会自动挂载;

  • 所需软件包:autofs
  • 系统服务名:autofs

格式:systemctl restart autofs    //重启服务

注意:触发挂载实现,必须多级的目录结构: /监控目录/挂载点目录

补充:三大挂载方式:手动挂载、自动挂载、autofs触发挂载(极少使用)

例如:

[root@pc207 ~]# yum -y install autofs     //安装软件包
[root@pc207 ~]# rpm -q autofs
autofs-5.0.7-83.el7.x86_64
[root@pc207 ~]# systemctl restart autofs
[root@pc207 ~]# ls /      //重启服务后,autofs则在根目录下创建/misc目录
1.txt  boot  etc   lib    media  mnt    net  proc  run   srv  tmp  var
bin    dev   home  lib64  misc   mydvd  opt  root  sbin  sys  usr
[root@pc207 ~]# ls /misc/cd  //当访问固定格式/misc/cd才触发/dev/cdrom的挂载
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

注意:必须输入/misc/cd才能触发自动挂载,挂载设备为/dev/cdrom

1)autofs配置解析

① 主配置文件:/etc/auto.master

- 格式:监控点目录  挂载配置的文件路径

[root@pc207 ~]# grep -v '^#' /etc/auto.master
/misc /etc/auto.misc      //存放触发点的父文件夹为/msic

补充:只有进入到/msic目录,autofs则发起监控机制并等待触发子目录

② 挂载配置的文件,比如/etc/auto.misc

- 格式:触发点子目录   -挂载参数  :挂载设备名

[root@pc207 ~]# grep -v '^#' /etc/auto.master
/misc /etc/auto.misc      //存放触发点的父文件夹为/msic

注意:cd为autofs自动建立/移除的挂载点子目录名,无需自己创建

例如:

[root@pc207 ~]# yum -y install autofs
[root@pc207 ~]# mkdir /myauto   //创建监控目录
[root@pc207 ~]# vim /etc/auto.master    //修改主配置文件
/myauto      /opt/xixi.txt      //定义监控点目录,挂载配置的文件路径
...
[root@pc207 ~]# cp /etc/auto.misc /opt/haha.txt   //复制作为模板
[root@pc207 ~]# vim /opt/haha.txt    //修改挂载配置的文件
nsd    -fstype=iso9660     :/dev/cdrom
[root@pc207 ~]# systemctl restart autofs
[root@pc207 ~]# ls /myauto/nsd    //验证触发挂载
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

2)触发挂载进阶 autofs & NFS

案例:主机2访问/myauto/nfs,触发nfs共享/public挂载到/myauto/nfs

步骤1:主机1 进行NFS搭建

[root@svr7 ~]# rpm -q nfs-utils   //检查是否已安装
nfs-utils-1.3.0-0.54.el7.x86_64
[root@svr7 ~]# mkdir /public
[root@svr7 ~]# touch /public/123.txt
[root@svr7 ~]# ls /public/
123.txt
[root@svr7 ~]# vim /etc/exports
/public  *(ro)     //允许所有客户端进行只读访问
[root@svr7 ~]# systemctl restart nfs-server.service

步骤2:主机2 设置自动触发挂载

[root@svr7 ~]# rpm -q nfs-utils   //检查是否已安装
nfs-utils-1.3.0-0.54.el7.x86_64
[root@pc207 ~]# yum -y install autofs
[root@pc207 ~]# mkdir /myauto   //创建监控目录
[root@pc207 ~]# vim /etc/auto.master
/myauto      /opt/xixi.txt
...
[root@pc207 ~]# cp /etc/auto.misc /opt/haha.txt   //作为模板
[root@pc207 ~]# vim /opt/haha.txt
nsd    -fstype=iso9660     :/dev/cdrom
nfs    -fstype=nfs         192.168.4.7:/public  //添加NFS的挂载配置记录
...
[root@pc207 ~]# systemctl restart autofs
[root@pc207 ~]# ls /myauto/nfs
123.txt

小结:

本篇章节为 【第一阶段】SERVICES-DAY1 的学习笔记,可以初步了解到 SELinux、系统故障修复、HTTPD/FTP服务搭建、防火墙策略管理、服务管理。除此之外推荐参考相关学习网址:

  • linux 问题大全_SO中文参考 - www.soinside.com
  • WEB虚拟机主机-维基百科
  • 菜鸟教程 - 学的不仅是技术,更是梦想!

Tip:毕竟两个人的智慧大于一个人的智慧,如果你不理解本章节的内容或需要相关笔记、视频,可私信小安,请不要害羞和回避,可以向他人请教,花点时间直到你真正的理解

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch:Retrievers 介绍 - Python Jupyter notebook

在今天的文章里&#xff0c;我是继上一篇文章 “Elasticsearch&#xff1a;介绍 retrievers - 搜索一切事物” 来使用一个可以在本地设置的 Elasticsearch 集群来展示 Retrievers 的使用。在本篇文章中&#xff0c;你将学到如下的内容&#xff1a; 从 Kaggle 下载 IMDB 数据集…

压缩pdf大小的方法 指定大小软件且清晰

在数字化时代&#xff0c;pdf文件因其良好的兼容性和稳定性&#xff0c;已成为文档分享的主流格式。然而&#xff0c;高版本的pdf文件往往体积较大&#xff0c;传输和存储都相对困难。本文将为您详细介绍几种简单有效的方法&#xff0c;帮助您减小pdf文件的大小&#xff0c;让您…

Direct3D入门指南:创建对象、绘制几何体

DirectX是一个复杂但功能强大的API集&#xff0c;掌握了DirectX&#xff0c;特别是Direct3D&#xff0c;就意味着能够开发出高性能的图形应用和游戏。下面为大家讲解Direct3D的基础入门知识&#xff0c;以便大家能够快速上手。 创建设备 在Direct3D中&#xff0c;所有图形渲染…

API vs 网页抓取:获取数据的最佳方式

获取准确和及时的数据对于大多数项目至关重要无论是对于企业、研究人员&#xff0c;还是开发人员来说&#xff0c;获取准确和及时的数据都至关重要。收集网页数据主要有两种方法&#xff1a;使用API&#xff08;应用程序接口&#xff09;和网页抓取——哪种方法更适合你的项目呢…

随手记:vsCode修改主题色为自定义颜色

因为工作需要长时间面对vscode&#xff0c;视力不好&#xff0c;想要把工具改成护眼色&#xff0c;于是就把vscode改成了自定义的护眼色 效果图&#xff1a; 操作步骤&#xff1a; 快捷键打开设置页面&#xff1a; 按住ctrlshiftp 选择Open setting 按回车键 打开setting页面编…

大数据黑名单是怎么回事?是如何形成的?

在金融借贷过程中&#xff0c;不少人都或多或少的听说过网贷黑名单&#xff0c;也就是大数据黑名单&#xff0c;如果自己的大数据设计黑名单了的话&#xff0c;正常的申贷一定会受到影响的&#xff0c;很多人都纳闷了&#xff0c;大数据黑名单是怎么回事?是如何形成的?下面小…

docker的学习(一):docker的基本概念和命令

简介 docker的学习&#xff0c;基本概念&#xff0c;以及镜像命令和容器命令的使用 docker docker的基本概念 一次镜像&#xff0c;处处运行。 在部署程序的过程中&#xff0c;往往是很繁琐的&#xff0c;要保证运行的环境&#xff0c;软件的版本&#xff0c;配置文件&…

MF173:将多个工作表转换成PDF文件

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

5.java操作RabbitMQ-简单队列

1.引入依赖 <!--rabbitmq依赖客户端--> <dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId> </dependency> 操作文件的依赖 <!--操作文件流的一个依赖--> <dependency><groupId>c…

CH01_WPF概述

第1章&#xff1a;WPF概述 本章目标 了解Windows图形演化了解WPF高级API了解分辨率无关性概念了解WPF体系结构了解WPF 4.5 WPF概述 ​ 欢迎使用 Windows Presentation Foundation (WPF) 桌面指南&#xff0c;这是一个与分辨率无关的 UI 框架&#xff0c;使用基于矢量的呈现引…

【STM32】TIM定时中断(江科大)

1.定时器最基本功能&#xff1a;定时触发中断 2.定时器就是一个计数器&#xff0c;当这个计数器的输入是一个准确可靠的基准时钟的时候&#xff0c;它在对这个基准时钟进行计数的过程&#xff0c;实际上就是计时的过程&#xff08;比如在STM32中&#xff0c;定时器的基准时钟一…

verilog实现ram16*8 (vivado)

module ram_16x2 (input clk, // 时钟信号input we, // 写使能input en, // 使能信号input [3:0] addr, // 地址线input [1:0] datain, // 输入数据线output reg [1:0] dataout // 输出数据线 );// 定义存储器数组reg [1:0] mem [15:0];always (posedge…

JAVA基础:运用分包思想编写汽车管理系统

目录 前言 分包 主界面 添加页面 service层 domain层 查看界面 总结 前言 在编写Java业务的时候我们应该充分运用分包思想将不同功能的类放在不同的包里&#xff0c;如果我们将所有的类都放在同一个包中&#xff0c;以后维护起来也会很麻烦。我们今天就要用这种思想编写…

前端组件化探索与实践:Vue自定义暂无数据组件的开发与应用

摘要 随着前端开发技术的不断进步&#xff0c;组件化开发已成为提升开发效率、降低维护成本的关键手段。本文旨在通过介绍一款Vue自定义暂无数据组件的开发与实践&#xff0c;深入探讨前端组件化开发的重要性、优势及其在实际项目中的应用。 一、引言 在前端开发中&#xff0…

【杰理蓝牙开发】AC695x 按键 I/O key 互推接法接口分析

本文主要记录 杰理蓝牙AC695x 按键I/O key 互推接法接口分析 【杰理蓝牙开发】AC695x 按键 I/O key 互推接法接口分析 0. 个人简介 && 授权须知1. IOKEY 使用硬件设计1.1 一个按键接一个 IO1.1 一个按键接两个 IO2. IOKEY 【互推】接法原理分析2.1 定义按键的三个属性2…

味蕾盛宴:红酒的丰富口感与不同的风味

在繁华的都市中&#xff0c;总有那么一些瞬间&#xff0c;我们希望用味蕾去探寻世界的美好。而红酒&#xff0c;便是这场味蕾盛宴中的一位优雅舞者&#xff0c;以其丰富的口感和不同的风味&#xff0c;为我们带来一场视觉与味觉的双重享受。今天&#xff0c;就让我们一起走进红…

Python环境下的JD京东平台商品SKU数据批量采集分析

本教程内容旨在帮助没有基础的同学快速掌握 numpy 的常用功能&#xff0c;保证日常绝大多数场景的使用。可作为机器学习或深度学习的先修课程&#xff0c;也可作为快速备查手册。 值得一提的是&#xff0c;深度学习的各大框架很多 API 和 numpy 也是一脉相承的哦&#xff0c;可…

Qt第十二章 样式表

样式表 文章目录 样式表1.样式表盒子模型 2.选择器选择器类型伪状态选择器Pseudo-State 3.控件示例4继承自QWidget的类&#xff0c;设置qss样式表没有效果&#xff0c;需要重写paintEvent 1.样式表 盒子模型 2.选择器 样式表语法&#xff0c;选择器{属性1:值;属性2:值;}如果只…

链表(4) ----跳表

跳表&#xff08;Skip List&#xff09;是一种随机化的数据结构&#xff0c;用于替代平衡树&#xff08;如 AVL 树或红黑树&#xff09;。它是基于多层链表的&#xff0c;每一层都是上一层的子集。跳表可以提供与平衡树相似的搜索性能&#xff0c;即在最坏情况下&#xff0c;搜…

「AI得贤招聘官」通过首批“AI产业创新场景应用案例”评估

近日&#xff0c;上海近屿智能科技有限公司的「AI得贤招聘官」&#xff0c;经过工业和信息化部工业文化发展中心数字科技中心的严格评估&#xff0c;荣获首批“AI产业创新场景应用案例”。 据官方介绍&#xff0c;为积极推进通用人工智能产业高质量发展&#xff0c;围绕人工智能…