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

环境准备

开启虚拟机A与虚拟机B

两台机器设置SELinux运行模式

[root@svr7 ~]# getenforce
	Enforcing
[root@svr7 ~]# setenforce 0
[root@svr7 ~]# getenforce
	Permissive
[root@svr7 ~]# vim   /etc/selinux/config
SELINUX=permissive

两台机器设置防火墙(停止防火墙服务)

[root@svr7 ~]# systemctl  stop  firewalld
[root@svr7 ~]# systemctl  disable  firewalld

一、服务的管理

用户—>systemd—>服务

•上帝进程:systemd
•Linux系统和服务管理器
–是内核引导之后加载的第一个初始化进程(PID=1)
–负责掌控整个Linux的运行/服务资源组合

手动方式:
/usr/sbin/httpd killall httpd
systemd方式:
用户–systemctl–>systemd–服务启动文件–>运行httpd或者杀死httpd

•一个更高效的系统&服务管理器
–开机服务并行启动,各系统服务间的精确依赖
–配置目录:/etc/systemd/system/
–服务目录:/lib/systemd/system/
–主要管理工具:systemctl

[root@svr7 ~]# systemctl -t service --all #列出所有的服务

•对于服务的管理(与手动启动有冲突)

systemctl restart    服务名    #重起服务
systemctl  start     服务名    #开启服务 
systemctl  stop    服务名      #停止服务
systemctl  status   服务名      #查看服务当前的状态

systemctl  enable   服务名    #设置服务开机自启动
systemctl   disable   服务名   #设置服务禁止开机自启动
systemctl   is-enabled  服务名   #查看服务是否开机自启
]# yum -y install httpd
]# > /etc/resolv.conf    #清除文件内容
]# killall httpd       #杀死手动启动的httpd
]# systemctl  restart  httpd    #重启httpd服务
]# systemctl  status  httpd    #查看服务httpd状态
]# systemctl  enable  httpd   #设置httpd开机自启动
	Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system			/h	ttpd.service.
]# systemctl  is-enabled  httpd#查看httpd是否是开机自启动
]# systemctl disable  httpd   #关闭httpd开机自启动
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
]# systemctl  is-enabled  httpd #查看httpd是否是开机自启动

管理运行级别

RHEL6:运行级别 300
0:关机 0个服务
1:单用户模式(基本功能的实现,破解Linux密码) 50个服务
2:多用户字符界面(不支持网络) 80个服务
3:多用户字符界面(支持网络)服务器默认运行级别 100个服务
4:未定义 0个服务
5:图形界面 300个服务
6:重起 0个服务
切换运行级别:init 数字

RHEL7:运行模式(运行级别)

字符模式:multi-user.target
图形模式:graphical.target

当前直接切换到字符模式
]# systemctl isolate multi-user.target #相当于原来的init 3
当前直接切换到图形模式
]# systemctl isolate graphical.target #相当于原来的init 5

查看每次开机默认进入模式
[root@svr7 /]# systemctl get-default
设置永久策略,每次开机自动进入multi-user.target

[root@svr7 /]# systemctl  set-default   multi-user.target 

[root@svr7 /]# reboot

二、Web服务器简介

•基于 B/S (Browser/Server)架构的网页服务
–服务端提供网页
–浏览器下载并显示网页
•Hyper Text Markup Language,超文本标记语言
•Hyper Text Transfer Protocol,超文本传输协议

三步骤策略:装包、配置、启服务
实现Web功能软件:httpd、Nginx、Tomcat

httpd由软件基金会Apache

虚拟机A:构建基本Web服务

]# yum -y install httpd
]# rpm  -q  httpd

]# echo NSD Web Server >    /var/www/html/index.html

]# systemctl restart httpd       #重新启动服务
]# curl   192.168.4.7    #测试访问
NSD  Web  Server

访问出现测试页面(欢迎界面)的原因

1.没有写任何的网页文件
2.网页文件名字不是index.html
3.Web服务访问控制拒绝

服务器启动失败:

[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  #显示报错信息

•提供的默认配置
–Listen:监听地址:端口(80)
–ServerName:本站点注册的DNS名称(空缺)
–DocumentRoot:网页根目录(/var/www/html)
–DirectoryIndex:起始页/首页文件名(index.html)

主配置文件:/etc/httpd/conf/httpd.conf

常见错误:

[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

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

虚拟机A

]# mkdir   /var/www/myweb
]# echo  wo shi myweb > /var/www/myweb/index.html
]# vim    /etc/httpd/conf/httpd.conf


…….此处省略一万字
DocumentRoot    "/var/www/myweb"
…….此处省略一万字

]# systemctl  restart  httpd    #重启服务
]# curl  http://192.168.4.7
wo shi myweb

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

拒绝所有客户端访问:Require all denied
允许所有客户端访问:Require all granted

当子目录没有规则,默认继承上一级目录规则
针对此目录有单独配置,则不继承上一级目录规则

<Directory    />
    Require all denied     #拒绝所有人访问
</Directory>

<Directory    /var/www>
    Require all granted      #允许所有人访问
</Directory>

总结:默认情况下仅在/var/www/下存放的网页文件允许所有客户端访问

<Directory        /webroot>
Require   all  granted 
</Directory>

虚拟机A:

]# mkdir   /webroot
]# echo wo shi webroot  >  /webroot/index.html
]# vim   /etc/httpd/conf/httpd.conf
…….此处省略一万字
DocumentRoot    "/webroot"   
<Directory   /webroot> #针对于/webroot路径
    Require all granted       #允许所有人访问
</Directory>
…….此处省略一万字
]# systemctl  restart  httpd    #重启服务
]# curl http://192.168.4.7       
 wo shi webroot

客户端curl http://192.168.4.7---->服务端192.168.4.7---->http---->httpd---->主配置文件---->DocumentRoot /webroot---->/webroot---->index.html

客户端:curl http://192.168.4.7
服务端:/webroot
http://192.168.4.7=/webroot

客户端:curl http://192.168.4.7/cbd
服务端:/webroot/cbd

客户端:curl http://192.168.4.7/cbd/abc
服务端:/webroot/cbd/abc

网络路径与实际路径

DocumentRoot —》/webroot

网络路径:curl http://192.168.4.7
实际服务:/webroot

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

网络路径:curl http://192.168.4.7/abc
实际服务: /webroot/abc/index.html

DocumentRoot /webroot
网络路径:curl http://192.168.4.7/webroot/abc
服务端实际路径: /webroot/webroot/abc

虚拟机A

]# mkdir   /webroot/abc
]# echo wo shi abc > /webroot/abc/index.html

]# curl   http://192.168.4.7/abc/

Listen:监听IP地址: 监听端口(80)

端口:数字编号,起到标识作用,标识协议

http协议默认端口:80

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

虚拟机A
[root@svr7 ~]#vim /etc/httpd/conf/httpd.conf
…….此处省略一万字
Listen 80
Listen 8000
…….此处省略一万字
[root@svr7 ~]# systemctl restart httpd

]# curl 192.168.4.7:8000
]# curl 192.168.4.7 #默认是80端口

三、虚拟Web主机

•虚拟Web主机
–由同一台服务器提供多个不同的Web站点
•区分方式
–基于域名的虚拟主机
–基于端口的虚拟主机
–基于IP地址的虚拟主机

•配置文件路径
–/etc/httpd/conf/httpd.conf #主配置文件
–/etc/httpd/conf.d/*.conf #调用配置文件

•为每个虚拟站点添加配置
<VirtualHost IP地址:端口>
ServerName 此站点的DNS名称
DocumentRoot 此站点的网页根目录

虚拟机A:
]# vim /etc/httpd/conf.d/haha.conf
<VirtualHost *:80> #在所有IP地址监听80
ServerName www.qq.com #网站的域名
DocumentRoot /var/www/qq #网页文件路径

<VirtualHost    *:80>
   ServerName    www.lol.com
   DocumentRoot   /var/www/lol
</VirtualHost>
]# mkdir  /var/www/qq   /var/www/lol
]# echo wo  shi  QQ  >  /var/www/qq/index.html
]# echo wo  shi  LOL  >  /var/www/lol/index.html
]# systemctl  restart   httpd

采用/etc/hosts文件直接解析域名,只为本机解析

]# vim   /etc/hosts
…….此处省略一万字
192.168.4.7   www.qq.com    www.lol.com
]# curl  www.qq.com
]# curl  www.lol.com

一旦使用虚拟Web主机功能,所有的网站都必须使用虚拟Web主机方式进行呈现
虚拟机A

[root@svr7 ~]# vim /etc/httpd/conf.d/haha.conf
		…….此处省略一万字
<VirtualHost  *:80>
   ServerName    www.xixi.com
   DocumentRoot    /webroot
</VirtualHost>
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# vim /etc/hosts
		…….此处省略一万字
192.168.4.7   www.qq.com   www.lol.com   www.xixi.com
[root@svr7 ~]# curl  http://www.xixi.com

基于端口的虚拟Web主机

[root@svr7 ~]# vim /etc/httpd/conf.d/haha.conf
<VirtualHost   *:80>
   ServerName  www.qq.com
   DocumentRoot   /var/www/qq
</VirtualHost>
Listen  8080
<VirtualHost   *:8080>
   ServerName   www.qq.com
   DocumentRoot    /var/www/lol
</VirtualHost>
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# curl  www.qq.com:8080
[root@svr7 ~]# curl  www.qq.com

四、NFS服务基础

•Network File System,网络文件系统
–用途:为客户机提供共享使用的文件夹
–协议:NFS( 2049)、RPC( 111)

•所需软件包:nfs-utils
•系统服务:nfs-server

虚拟机A:服务端
[root@svr7 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.54.el7.x86_64

[root@svr7 ~]# mkdir /public #创建共享目录
[root@svr7 ~]# echo haha > /public/h.txt
[root@svr7 ~]# echo xixi > /public/x.txt
[root@svr7 ~]# ls /public/

[root@svr7 ~]# vim /etc/exports
文件夹路径 客户机地址(权限)
/public *(ro) #允许所有客户端进行只读访问
[root@svr7 ~]# systemctl restart nfs-server

虚拟机B:客户端
[root@pc207 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.54.el7.x86_64
[root@pc207 ~]# mkdir /mnt/mynfs

]# mount 192.168.4.7:/public /mnt/mynfs
]# ls /mnt/mynfs
]# df -h #查看正在挂载的设备信息

实现开机自动挂载
_netdev:声明网络设备,系统在具备网络参数后,再进行挂载本设备

[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/

五、触发挂载(了解内容)

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

[root@pc207 ~]# yum -y install autofs
[root@pc207 ~]# systemctl start autofs
[root@pc207 ~]# ls /misc
[root@pc207 ~]# ls /misc/cd

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

•主配置文件 /etc/auto.master
–监控点目录 挂载配置文件的路径

•挂载配置文件,比如 /etc/auto.misc
–触发点子目录 -挂载参数 :设备名

案例:虚拟机B访问/myauto/nsd,光驱设备挂载/ myauto/nsd
[root@pc207 ~]# yum -y install autofs
[root@pc207 ~]# mkdir /myauto #创建监控目录
[root@pc207 ~]# ls /myauto
[root@pc207 ~]# vim /etc/auto.master
……此处省略一万字
/myauto /opt/xixi.txt
……此处省略一万字
[root@pc207 ~]# cp /etc/auto.misc /opt/xixi.txt
[root@pc207 ~]# vim /opt/xixi.txt
nsd -fstype=iso9660 :/dev/cdrom

[root@pc207 ~]# systemctl restart autofs
[root@pc207 ~]# ls /myauto/
[root@pc207 ~]# ls /myauto/nsd

触发挂载进阶autofs与NFS

虚拟机B访问/myauto/nfs,虚拟机A 的nfs共享/public挂载到/myauto/nfs

[root@pc207 ~]# yum -y install autofs
[root@pc207 ~]# mkdir /myauto   #创建监控目录
[root@pc207 ~]# ls /myauto
[root@pc207 ~]# vim   /etc/auto.master
……此处省略一万字 
/myauto      /opt/xixi.txt
……此处省略一万字 
[root@pc207 ~]# vim   /opt/xixi.txt
nsd    -fstype=iso9660     :/dev/cdrom
nfs    -fstype=nfs         192.168.4.7:/public
[root@pc207 ~]# systemctl  restart  autofs
[root@pc207 ~]# ls  /myauto/nfs
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值