Linux云计算 |【第一阶段】SERVICES-DAY1
Web基础应用、Web虚拟主机、NFS服务基础、自动触发挂载
主要内容:
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服务器软件:
Apache HTTP Server:
- 由Apache软件基金会开发和维护,是最流行的开源Web服务器之一。
- 支持多种操作系统,包括Linux、Unix和Windows。
- 具有高度的可配置性和模块化设计,可以通过模块扩展功能。
Nginx:
- 一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
- 设计用于处理高并发连接,适合作为负载均衡器和反向代理。
- 资源消耗较低,性能优越,尤其在静态内容和高并发场景下表现出色。
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:装包(httpd)
- 步骤2:配置(部署首页index.html)
- 步骤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)
- 网络路径: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.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服务的主要功能包括:
文件共享:NFS允许在网络上的不同计算机之间共享文件和目录。用户可以在客户端计算机上挂载远程服务器上的文件系统,并像使用本地文件系统一样使用它们。
集中管理:通过NFS,管理员可以将文件集中存储在服务器上,便于管理和备份。这也有助于确保所有用户访问的是相同版本的文件。
资源共享:NFS可以用于共享存储资源,如磁盘空间、打印机和其他设备,从而提高资源利用率。
跨平台支持: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:毕竟两个人的智慧大于一个人的智慧,如果你不理解本章节的内容或需要相关笔记、视频,可私信小安,请不要害羞和回避,可以向他人请教,花点时间直到你真正的理解
更多推荐
所有评论(0)