主要内容:

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 none
    Require 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)

(类似: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.com
  DocumentRoot /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.com
  DocumentRoot /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>     //监听端口80
  ServerName www.LOL.com   //域名相同
  DocumentRoot /var/www/LOL
</VirtualHost>

Listen 8080      //增加监听端口(也可在/etc/httpd/conf/httpd.conf添加)
<VirtualHost *:8080>     //监听端口8080
  ServerName 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.com
  DocumentRoot /var/www/nsd01
</VirtualHost>
 
<VirtualHost *:80>
  ServerName www0.example.com
  DocumentRoot /var/www/nsd02
</VirtualHost>
 
<VirtualHost *:80>
  ServerName webapp0.example.com
  DocumentRoot /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.com
  DocumentRoot /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.com
  DocumentRoot /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服务搭建、防火墙策略管理、服务管理。除此之外推荐参考相关学习网址:


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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐