Web基础应用 NFS服务基础 触发挂载

· Web基础应用
· NFS服务基础
· 触发挂载

环境的准备

  • 关闭两台虚拟机的SELinux
setenforce 0		修改当前运行模式
getenforce			查看当前运行模式
# Permissive

vim /etc/selinux/config		永久修改
SELINUX=permissive	
  • 设置两台虚拟机防火墙
firewall-cmd --set-default-zone=trusted

Web服务器简介

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

  • 服务端提供网页
  • 浏览器下载并显示网页
    · 实现Web服务的软件:httpd (Apache) 、Nginx 、tomcat
  • HTML,超文本标记语言
  • HTTP,超文本传输协议

httpd (Apache) 实现网站搭建

1. 安装httpd软件
yum -y install httpd
rpm -q httpd

2. 书写网页文件
# ls /var/www/html/		  默认情况下,http软件会从/var/www/html/下寻找网页文件
echo NSD1996 Web > /var/www/html/index.html		 

3.启动服务
> /etc/resolv.conf			 删除DNS服务器
systemctl restart httpd		 开启httpd服务
# 用systemctl去启动服务的优势
# 1.可以把服务设置成开机自启
# 2.会去监控服务,如果服务出现了一些问题,会有日志的报错,会方便我们去做报错分析	

4.访问测试
curl 192.168.4.7		
# NSD1996 Web
# 用浏览器访问服务,如果显示Testing 123...;那么说明我们的服务里面么没有任何执行文件

Web服务器配置

所有的服务都有三个步骤 : 装包 、 配置 、启服务
配置文件路径 : /etc/httpd/conf/httpd.conf

如果我们修改配置文件出现了错误!!!排错的思路 :

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.
报错之后,我们按照提示输入:
journalctl -xe		

如下所示 : 我们需要找到报错的行

vim /etc/httpd/conf/httpd.conf			修改web的配置文件信息

在这里插入图片描述

提供的默认配置

- 	listen : 监听地址:端口(80)
- 	ServerName : 本站点注册的DNS名称(空缺)
- 	DocumentRoot : 网页根目录(/var/www/html)
- 	DirectoryIndex : 起始页/首页文件名(index.html)

DocumentRoot 网页文件根目录(/var/www/html)

  • 网页文件根目录 :存放网页文件的路径,也是httpd软件寻找网页文件的起始路径
  • 实际上就是httpd在网页文件中寻找文件的起始点
vim /etc/httpd/conf/httpd.conf		修改web的配置文件信息
# set nu 				加行号
# /DocumentRoot			寻找文本文件中DocumentRoot的行

我们修改网页根目录路径,将原来的/var/www/html修改成/var/www/myweb如下所示 :
在这里插入图片描述

mkdir /var/www/myweb				创建网页根目录
echo my web > /var/www/myweb/index.html		在网页根目录下创建index.html文件,书写网页内容
systemctl restart httpd			我们修改完配置文件后,一定要记得重启httpd服务

curl 192.168.4.7			重启httpd服务之后,做访问测试
# my web

主配置文件的两个访问控制

vim /etc/httpd/conf/httpd.conf		修改web的配置文件信息

在这里插入图片描述
在这里插入图片描述

如果我们将配置文件里面的网页根目录改成:DocumentRoot "/abc"
那么我们再做一次实验:
mkdir /abc

echo my abc > /abc/index.html		在网页根目录下创建index.html文件,书写网页内容
systemctl restart httpd			我们修改完配置文件后,一定要记得重启httpd服务

curl 192.168.4.7			重启httpd服务之后,做访问测试
# 无法访问

结论:
默认情况下只有/var/www/下是允许所有人访问的

  • 针对存放网页文件路径,具有访问控制
  1. 默认继承父目录的访问规则
  2. 除非对该目录有单独访问控制规则配置

新增访问控制规则配置
在这里插入图片描述

mkdir /abc
echo my abc > /abc/index.html		在网页根目录下创建index.html文件,书写网页内容
systemctl restart httpd			我们修改完配置文件后,一定要记得重启httpd服务

curl 192.168.4.7				成功访问
# my abc

实际路径与网络路径

  • 实际路径 : 网页文件在服务器存放的路径
  • 网络路径 : 在浏览器中输入的路径

客户端输入 192.168.4.7===》默认以http的协议进行访问===》服务端 由httpd软件进行接收===》
DocumentRooot /abc===》/abc/index.html

网络路径 :firefox	192.168.4.7
实际路径 :/abc/

网络路径 :firefox  	192.168.4.7/nsd
实际路径 :/abc/nsd 

网络路径 :firefox	 http://192.168.4.7/abc/nsd/test
实际路径 :/abc/abc/nsd/test

命令演示

echo 123 > /abc/nsd01

curl 192.168.4.7/abc/nsd01
# <title>404 Not Found</title>

curl 192.168.4.7/nsd01		192.168.4.7访问的起始路径就是/abc
# 123

结论:网页文件根目录/abc,实际就是httpd软件开始寻找网页文件的起始路径

Listen 监听地址:端口(80)

端口 : 数字编号,标识作用。标识程序与协议

  • http协议默认端口:80
vim /etc/httpd/conf/httpd.conf
如果给给程序增加端口,尽量不要设置1024以下的端口号。
1024以下的端口号一般都是知名端口号,设置1024以下的端口号会发生端口冲突。

新增端口号8000,如下所示:
在这里插入图片描述

systemctl restart httpd

curl 192.168.4.7		    默认端口测试连接
# my abc
curl 192.168.4.7:8000		指定的8000端口号测试连接
# my abc

Web服务器配置 虚拟Web主机

· 虚拟Web主机

  •   由同一台服务器提供多个不同的Web站点
    

· 区分方式

  •    基于域名的虚拟主机
    
  •    基于端口的虚拟主机
    
  •    基于IP地址的虚拟主机
    

在这里插入图片描述

· 为每个虚拟站点添加配置

建立调用配置文件格式:
<VirtualHost IP地址:端口>
	ServerName	    此站点的DNS名称
	DocumentRoot	此站点的网页根目录
</VirtualHost>

· 配置文件路径

- /etc/httpd/conf/httpd.conf	主配置文件
- /etc/httpd/conf.d/*.cond	   调用配置文件
  • 调用配置文件的作用主要是为了方便web以后的维护
  • 我们一旦调用虚拟web主机的功能,那么主配置文件的DocumentRoot就会失效
    在这里插入图片描述
    通过域名来区分虚拟主机
建立调用配置文件
vim /etc/httpd/conf.d/nsd01.conf
配置文件内容:
<VirtualHost *:80>				启用虚拟Web主机的功能
        ServerName www.baidu.com		设置网站名称
        DocumentRoot /var/www/baidu		设置网页文件存放路径
</VirtualHost>					配置结束
<VirtualHost *:80>
        ServerName www.qq.com
        DocumentRoot /var/www/qq
</VirtualHost>

mkdir /var/www/baidu
mkdir /var/www/qq

echo woshi baidu > /var/www/baidu/index.html
echo woshi QQ > /var/www/qq/index.html

systemctl restart httpd

通过搜索网站名称测试结果是失败的
curl www.baidu.com
# curl: (6) Could not resolve host: www.baidu.com; Unknown error

我们没有配置DNS服务器,是没有办法配置域名解析的,所以如果我们搜网站名称去搜索网站内容,测试的结果是会直接报错的。
我们可以通过修改/etc/hosts直接为本机提供域名解析,需要注意/etc/hosts只可以为本机提供域名解析。

vim /etc/hosts			我们只需要在/etc/hosts的文件结尾里面新增内容就可以了
	192.168.4.7 www.qq.com www.baidu.com		

网站名称搜索测试
curl www.baidu.com
# woshi baidu
curl www.qq.com
# woshi QQ


如果我们想在虚拟机B上进行测试的话,那么我们需要在/etc/hosts的文件结尾中,写入虚拟机A的Web服务器的地址。
vim /etc/hosts			
	192.168.4.7 www.qq.com www.baidu.com		

curl www.baidu.com
# woshi baidu
curl www.qq.com
# woshi QQ

通过端口来区分虚拟主机

一旦使用虚拟Web主机功能,那么所有的Web页面都必须用虚拟Web主机功能进行呈现

vim /etc/httpd/conf.d/nsd01.conf
配置文件内容:
Listen 8080
<VirtualHost *:8080>				启用虚拟Web主机的功能
        ServerName www.qq.com		设置网站名称
        DocumentRoot /var/www/baidu		设置网页文件存放路径
</VirtualHost>					配置结束
<VirtualHost *:80>
        ServerName www.qq.com
        DocumentRoot /var/www/qq
</VirtualHost>

 systemctl restart httpd
 
域名解析配置文件
vim /etc/hosts		
	192.168.4.7 www.qq.com www.baidu.com	
		
网站名称搜索测试
curl www.qq.com
# woshi QQ
curl www.qq.com:8080
# woshi baidu


www.baidu.com:8080
# woshi baidu
我们在用端口号来区分虚拟机的时候,并没有在调用配置文件里面写入www.baidu.com的网站名称。
但是我们发现写入端口号www.baidu.com:8080,输出的结果www.qq.com:8080的结果是一样的,
由此可见端口号的的优先级是高于IP的。

构建NFS共享服务

· Network File System,网络文件系统

  •   用途:为客户机提供共享使用的文件夹
    
  •   协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
    

· 服务端与客户端所需软件包:nfs-utils
· 系统服务:nfs-server

虚拟机A搭建服务
mkdir /public	创建共享数据的目录
touch /public/a.txt	

1. 安装软件包
yum -y install nfs-utils	
	
2. 修改配置文件
vim /etc/exports
配置文件内容:
/public *(ro)
共享目录  客户端的地址(权限)

3. 启动服务
systemctl restart rpcbind	动态端口(nfs的依赖服务)
systemctl restart nfs-server

df -h 
# /dev/mapper/centos-root   18G  2.3G   16G  13% /	


虚拟机B设置挂载点
mkdir /mynfs
mount 192.168.4.7:/public /mynfs	将虚拟机A的共享目录挂载到虚拟机B的/munfs中

df -h | tail-1			挂载的设备信息其实就是虚拟机A的根分区文件系统的信息
# 192.168.4.7:/public       18G  2.3G   16G  13% /mynfs
虚拟机A中创建文件和目录
mkdir /public/abc
touch /public/a.txt

用虚拟机B来查看虚拟机A中共享数据的目录
ls /mynfs
# abc a.txt
  • 设置开机自动挂载
_netdev: 声明网络设备,开机启动时,首先将网络参数配置之后再挂载本设备

在虚拟机B上设置虚拟机A共享数据目录的开机自动挂载
vim /etc/fstab
	192.168.4.7:/public /mynfs nfs defaults,_netdev 0 0

umount /mynfs
mount -a
df -h | tail -1
# 192.168.4.7:/public       18G  2.3G   16G  13% /mynfs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值