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 ]