目录
一、Web服务器简介
1.三步骤策略:装包、配置、启服务
2.主配置文件:/etc/httpd/conf/httpd.conf
(1)案例1:更改网页根目录/var/www/html-------> /var/www/myweb
(2).Listen:监听IP地址: 监听端口(80)
3.访问控制,针对存放网页的目录
二、虚拟Web主机
1.虚拟web主机:
2.区分方式:
3.配置文件路径:
4.为每个虚拟站点添加配置:
5.基于端口的虚拟Web主机
三、NFS 服务基础
四、触发挂载(了解内容)
实现Web功能软件:httpd
httpd由软件基金会Apache
虚拟机A:构建基本Web服务
[root@svr ~]# yum -y install httpd #安装httpd
[root@svr ~]# rpm -q httpd #查看httpd是否安装
httpd-2.4.37-21.module+el8.2.0+5008+cca404a3.x86_64
[root@svr ~]# vim /var/www/html/index.html #修改index.html
[root@svr ~]# systemctl restart httpd #重启服务
[root@svr ~]# firefox 192.168.4.7 #打开firefox 进入192.168.4.7
[root@svr ~]# curl http://192.168.4.7 #测试访问
提供的默认配置
Listen:监听IP地址:端口(80)
ServerName:本站点注册的DNS名称(空缺)
DocumentRoot:网页根目录(/var/www/html)mkdi
DirectoryIndex:起始页/首页文件名(index.html)
]# 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
案例2:
[root@svr7 ~]# mkdir /var/www/webroot/abc
[root@svr7 ~]# echo wo shi ABC > /var/www/webroot/abc/index.html
[root@svr7 ~]# curl 192.168.4.7/abc/ #最后的/不能少
wo shi ABC
端口:数字编号起到标识作用,标识协议
http协议默认端口:80
建议自定义端口时大于1024,端口的极限65535
[root@svr7 ~]# vim /etc/httpd/conf/httpd.conf
…….此处省略一万字
Listen 80
Listen 8000 #指定监听的端口
…….此处省略一万字
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# curl 192.168.4.7:8000 #指定访问的端口
当子目录没有规则,默认继承上一级目录规则(默认继承)
针对此目录有单独配置,则不继承上一级目录规则
Require all denied #拒绝所有人访问
/目录下存放的网页文件,拒绝所有客户端访问
Require all granted #允许所有人访问
/var/www 下存放的网页文件,允许所有客户端访问
默认情况下,网页文件只有放在 /var/www 下,客户端才可以访问
-由同一台服务器提供多个不同的Web站点
一旦使用虚拟Web主机功能,所有的网站都必须使用虚拟Web进行呈现
重点理解:使用虚拟web主机功能以后,本机的所有网站只能使用虚拟web的方式来实现,网页文件根目录也会改变,为/etc/httpd/conf.d/*.conf #调用配置文件 中的 DocumentRoot 此站点的网页根目录 所指定的。和主配置文件的网页根目录就没有关系了。
-基于域名的虚拟主机
-基于端口的虚拟主机
-基于IP地址的虚拟主机
-/etc/httpd/conf/httpd.conf #主配置文件
-/etc/httpd/conf.d/*.conf #调用配置文件
------------------需要记忆--------------------------------
ServerName 此站点的DNS名称
DocumentRoot 此站点的网页根目录
--------------------------------------------------------------
案例:
[root@svr7 ~]# vim /etc/httpd/conf.d/haha.conf
ServerName www.qq.com #网站的域名
DocumentRoot /var/www/qq #网页文件路径 **这个路径改变以后,在主配置文件中要有相应的
ServerName www.lol.com
DocumentRoot /var/www/lol
[root@svr ~]# mkdir /var/www/qq /var/www/lol
[root@svr ~]# echo woshiQQ > /var/www/qq/index.html
[root@svr ~]# echo woshiLOL > /var/www/lol/index.html
[root@svr ~]# systemctl restart httpd
采用/etc/hosts文件直接解析域名,只为本机解析
[root@svr ~]# vim /etc/hosts
…….此处省略一万字
192.168.4.7 www.qq.com www.lol.com #此处写的(192.168.4.7)是搭建web服务器的主机IP地址
[root@svr ~]# curl http://www.qq.com
[root@svr ~]# curl http://www.lol.com
[root@svr7 ~]# vim /etc/httpd/conf.d/haha.conf
ServerName www.qq.com #网站的域名
DocumentRoot /var/www/qq #网页文件路径
Listen 8080
ServerName www.qq.com
DocumentRoot /var/www/lol
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# curl http://www.qq.com:8080
[root@svr7 ~]# curl http://www.qq.com
Network File System,网络文件系统
用途:为客户机提供共享使用的文件夹
理解:服务端A创建的/public目录,通过NFS服务,将/public作为共享目录挂载到其他客户端B、C、D......的指定目录下;/public下添加什么内容,服务端的挂载目录就会更新同样的内容。
协议: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 rpcbind #动态端口服务,nfs共享会依赖此服务
[root@svr7 ~]# systemctl restart nfs-server #nfs共享服务
虚拟机B:客户端
[root@pc207 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.54.el7.x86_64
[root@svr7 ~]# showmount -e 192.168.4.7 #查看服务端192.168.4.7有哪些共享
Export list for 192.168.4.7:
/public *
[root@svr7 ~]# mkdir /mnt/mynfs
[root@svr7 ~]# mount 192.168.4.7:/public /mnt/mynfs
[root@svr7 ~]# ls /mnt/mynfs
[root@svr7 ~]# df -h /mnt/mynfs #查看正在挂载的设备信息
实现开机自动挂载
_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
由 autofs 服务提供的“按需访问”机制
—只要访问挂载点就会触发响应,自动挂载指定设备
—闲置超过时限(默认5分钟)后,会自动卸载
[root@pc207 ~]# yum -y install autofs
[root@pc207 ~]# systemctl start autofs
[root@pc207 ~]# ls /misc
[root@pc207 ~]# ls /misc/cd
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
触发挂载实现,必须多级的目录结构: /监控目录/挂载点目录
主配置文件 /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