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

07-21 1415阅读

主要内容:

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,超文本传输协议(传输文本、超链接、图片、视频、二进制程序等)

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

    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下可以进行访问)

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

          AllowOverride none
          Require all denied   //拒绝所有人访问
      

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

          AllowOverride None
          # Allow open access:
          Require all granted   //允许所有人访问
      

      例如:

      [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浏览器显示测试页面内容

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

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

      注意:

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

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

          Require all granted      //允许所有人访问
      

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

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

          Require all denied     //拒绝所有人访问
      

      访问过程:客户端访问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地址的虚拟主机(两张网卡通信,增加网络通信复杂性)

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

          2)配置虚拟站点

          - 配置文件路径:

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

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

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

                ServerName 此站点的DNS名称
                DocumentRoot 此站点的网页根目录
            

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

            3)对默认Web站点的影响

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

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

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

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

            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
                    //在本机所有IP地址监听80端口
              ServerName www.LOL.com    //网站的域名
              DocumentRoot /var/www/LOL   //网页文件路径
            
            
              ServerName www.POP.com
              DocumentRoot /var/www/POP
            

            步骤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     //修改调用配置文件
            ...
            
              ServerName www.Music.com
              DocumentRoot /var/www/html
            
             
            [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
                 //监听端口80
              ServerName www.LOL.com   //域名相同
              DocumentRoot /var/www/LOL
            
            Listen 8080      //增加监听端口(也可在/etc/httpd/conf/httpd.conf添加)
                 //监听端口8080
              ServerName www.LOL.com   //域名相同
              DocumentRoot /var/www/POP
            
            ...
            [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:检查配置文件目录是否存在,路径是否正确;

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

              常见报错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
                  
                  
                  404 Not Found
                  
                  

                  Not Found

                  The requested URL / was not found on this server.

                  如图所示:

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


                  案例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
                    
                      ServerName server0.example.com
                      DocumentRoot /var/www/nsd01
                    
                     
                    
                      ServerName www0.example.com
                      DocumentRoot /var/www/nsd02
                    
                     
                    
                      ServerName webapp0.example.com
                      DocumentRoot /var/www/nsd03
                    
                     
                    [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
                           //设置目录访问控制权限允许全部访问
                          Require all granted
                      

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

                          Require all granted
                      
                      [root@svr7 ~]# vim /etc/httpd/conf.d/QQ.conf
                      
                        ServerName www0.example.com
                        DocumentRoot /webroot      //指定网页根目录
                      
                      ...
                      [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
                        
                          ServerName webapp0.example.com
                          DocumentRoot /var/www/nsd03
                        
                        ...
                        [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:毕竟两个人的智慧大于一个人的智慧,如果你不理解本章节的内容或需要相关笔记、视频,可私信小安,请不要害羞和回避,可以向他人请教,花点时间直到你真正的理解

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]