Web基础应用
独立的Web服务
- 只提供一个页面
构建基本的Web服务
-  基于 B/S (Browser/Server)架构的网页服务 -  服务端提供网页 
-  浏览器下载并显示网页 
-  Hyper Text Markup Language,超文标记语言 
-  Hyper Text Transfer Protocol,超文本传输协议 
-  Listen:监听地址:端口(80) 
-  ServerName:本站点注册的DNS名称(空缺) 
-  DocumentRoot:网页根目录(/var/www/html) 
-  DirectoryIndex:起始页/首页文件名(index.html) 
 
-  
-  三步骤策略:装包、配置、启服务 -  实现Web功能软件:httpd、Nginx、Tomcat 
-  httpd由软件基金会Apache开创 
-  装包: httpd 
-  配置:[ /etc/httpd/conf/httpd.conf ] [ /etc/httpd/conf.d/.conf ]* 
-  启服务: [ systemctl restart httpd ] 
 
-  
-  yum 安装 httpd 
-  写入/var/www/html/index.html 
-  systemctl restart httpd #重启服务 
-  curl 192.168.88.240 #实验 
-  主要配置文件 : [ /etc/httpd/conf/httpd.conf ] -  文件严谨性极高,容易报错 ----------------systemctl restart httpd 报错 
-  看日志的报错信息 [ journalctl -xe ] -------------常见报错信息,查询报错信息 .注意error 
 
-  
DocumentRoot
-  指定网页文件存放路径 
-  不指定时,默认路径是 [ /var/www/html/ ] 
-  默认的文件名是**[ index.html ]** 
-  DocumentRoot 可以不大写 ,建议驼峰写法. -  **[ vim /etc/httpd/conf/httpd.conf ] 中 ** 修改{DocumentRoot “/var/www/myweb” } 使网页文件根目录变为myweb 
-  [ echo wo shi myweb > /var/www/myweb/index.html ] 新的根目录下创建新的默认文件 
-  [ systemctl restart httpd ] #重启服务 
-  [ curl 192.168.88.240 ] 实验 
 
-  
httpd(规则)访问拒绝
-  httpd软件有访问控制 
-  根据存放页面的路径,实现访问控制 
-  访问控制规则: -  [ /var/www/html ]------------允许所有人访问 
-  [ / ]----------------------------------拒绝所有人访问 
-  当子目录没有规则,默认继承上一级目录规则 
-  针对此目录有单独配置,则不继承上一级目录规则 
-  [ /etc/httpd/conf/httpd.conf ] 中 < Directory /> Require all denied #拒绝所有人访问 < /Directory> <Directory “/var/www”> Require all granted #允许所有人访问 < /Directory> 设定规则,想要新的规则需要新添加.需要修改路径DocumentRoot 默认文件 index.html 也可以在配置文件中修改. 可以写多个,按顺序读取. 
 
-  
-  总结 -  访问出现测试页面的原因 -  没有网页文件 
-  网页文件名称不是index.html 
-  httpd的访问控制规则拒绝 
-  SELinux的没有关闭 
 
-  
 
-  
网络路径与实际路径
- 网络路径:浏览器输入的访问路径
- 实际路径:网页文件在服务器上存放的路径
- 网络路径访问是DocumentRoot下的实际路径
调用配置文件
-  可以自行创建,方便管理 
-  [ /etc/httpd/conf.d/*.conf ] 自创配置文件 
-  httpd 读取时 从主配置文件[ /etc/httpd/conf/httpd.conf ] 开始读取, 之后再读取各种 [ /etc/httpd/conf.d*conf ] 各种自创配置文件 
-  编写配置文件 - [ DocumenRoot “xxxx/xxxx/xxx” ]
 
Listen:设置监听的端口
-  端口:数字 标识协议与进程 
-  http协议默认端口:80 
-  为响应的端口,处于监听状态 
-  允许一个进程有多个端口监听 
-  建议自定义端口时大于1024,端口的极限65535 
-  在 [ /etc/httpd/conf.d/*conf ] 自创配置文件里添加 [ Listen 8000 ] 监听窗口为8000 [ systemctl restart http ] [ curl 192.168.88.24:8000 ] 
虚拟的Web服务
-  提供多个页面 
-  一台Web服务器针对多个页面 
-  优先级比Documen高 
区分方式(构建方式)
-  基于域名的虚拟主机 
-  基于端口的虚拟主机 
-  基于IP地址的虚拟主机 ( 理论层面 ) 
基于域名的虚拟主机
-  为每个虚拟站点添加配置(背) 
-  :为每个虚拟站点添加配置 <VirtualHost IP地址:端口> ServerName 此站点域名,比如www.qq.com DocumentRoot 此站点的网页根目录 < /VirtualHost> vim /etc/httpd/conf.d/bilibili.conf <VirtualHost *:80> --------------------------#在所有IP地址监听80 ServerName www.qq.com ---------------- #网站的域名 DocumentRoot /var/www/qq -------------- #网页文件路径 < /VirtualHost> 例: <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 vim /etc/hosts #只为本机提供域名解析  192.168.88.240 www.qq.com www.lol.com curl www.qq.com curl www.lol.com 一旦使用虚拟Web主机功能,所有的网站都必须使用虚拟Web方式进行呈现 
基于端口的虚拟Web主机
[ vim /etc/httpd/conf.d/xixi.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>
[systemctl restart httpd]
[ curl www.qq.com:8080 ] -------------- 显示 www.lol.com 的内容
[ curl www.qq.com ]
NFS服务基础
-  NFS: Network File System 
-  为客户机提供共享使用的文件夹 
-  协议 : 不用httpd ,NFS( 2049)、RPC( 111) - 所需软件包:nfs-utils (需确认安装)
- 系统服务:nfs-server
 
服务端
-  [ rpm -q nfs-utils ] #确认 nfs-utils 的安装 
-  [ mkdir /abc ] #创建共享目录 
-  [ echo haha > /abc/h.txt ] 
-  [ echo xixi > /abc/x.txt ] 
-  [ vim /etc/exports ] #修改配置文件  /abc *(ro) #允许所有客户端进行只读访问 read only 
-  [ systemctl restart nfs-server ] #启动服务 
客户端
- 允许多个客户端都挂载服务端
- 多个客户端可达到数据同步
- [ rpm -q nfs-utils ] #确认 nfs-utils 的安装
- [ showmount -e 192.168.88.240 ] #查看对方nfs共享
- [ mkdir /mnt/mynfs ] # 创建挂载点
- [ mount 192.168.88.240:/abc /mnt/mynfs ] # 挂载
- [ df -h /mnt/mynfs ] #查看正在挂载的设备信息
NFS开机自动挂载
- [ _netdev ]:声明网络设备,系统在具备网络参数后,再进行挂载本设备
- 注意服务端正在运行 - [ vim /etc/fstab ]
- [ umount /mnt/mynfs ] #把原先的挂载下了
- [ mount -a ] #挂载
 
触发挂载(了解)
-  由 autofs 服务提供的**“按需访问”**机制 -  只要访问挂载点就会触发响应,自动挂载指定设备 
-  闲置一段时间后,会自动卸载 -  [ yum -y install autofs ] #安装 autofs 包 
-  [ systemctl restart autofs ] #重新启动 
-  [ ls /misc ] #查看 /misc 下为空 
-  [ ls /misc/cd ]==>[ AppStream BaseOS … ] #查看 /misc/cd 时,触发,自动挂载 
 
-  
 
-  
触发挂载的实现
-  监控目录 : [ /misc ] 
-  主配置文件 [ /etc/auto.master ] - **监控点目录 挂载配置文件 **
 
-  挂载配置文件,比如**[ /etc/auto.misc ]** - 触发点子目录 -挂载参数 :设备名
 
-  访问/myauto/nsd,光驱设备自动挂载/ myauto/nsd -  [ yum -y install autofs ] #安装 autofs 
-  [ vim /etc/auto.master ] #[ 监控文件 ] 和 [ 挂载配置文件 ]的设定 ***/myauto /opt/bilibili.txt DocumentRoot /var/www/nsd01 #指定网页文件路径 
 
 <VirtualHost :80> 
 ServerName webapp0.example.com
 DocumentRoot /var/www/nsd02**
-  
-  [ vim /opt/bilibili.txt ] #挂载配置文件 nsd -fstype=iso9660 :/dev/cdrom # [ 触发点子目录 ] [ -挂载参数 ] [ :设备名 ] bilibili -fstype=nfs 192.168.88.240:/abc 
-  [ systemctl restart autofs ] #重启 
-  [ ls /myauto/ ] 
-  [ ls /myauto/nsd ] 
-  [ ls /myauto/bilibili ]