Web服务器简介

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

– 服务端提供网页
– 浏览器下载并显示网页
Hyper Text Markup Language,超文本标记语言
Hyper Text Transfer Protocol,超文本传输协议
三步骤策略:装包、配置、启服务
实现Web功能软件:httpd、Nginx、Tomcat
httpd由软件基金会Apache

  1. ]# yum -y install httpd #安装httpd软件
  2. ]# rpm -q httpd #查询是否已安装
  3. ]# echo NSD Web Server > /var/www/html/index.html #写测试页面
  4. ]# systemctl restart httpd #重启服务
  5. ]# curl http://192.168.88.240 #测试访问
  6. NSD Web Server

• 提供的默认配置

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

  1. 常见错误:
  2. [root@server ~]# systemctl restart httpd
  3. Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
  4. [root@server ~]# journalctl -xe
  1. ]# mkdir /var/www/myweb #创建web目录
  2. ]# echo wo shi myweb > /var/www/myweb/index.html #写测试文件
  3. ]# vim /etc/httpd/conf/httpd.conf #修改主配置文件
  4. …….此处省略一万字
  5. DocumentRoot "/var/www/myweb"
  6. …….此处省略一万字
  7. ]# systemctl restart httpd #重启服务
  8. ]# curl 192.168.88.240
  9. wo shi myweb

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

  1. 当子目录没有规则,默认继承上一级目录规则,针对此目录有单独配置,则不继承上一级目录规则
  2. / 拒绝所有客户端访问
  3. /var/www 允许所有客户端访问
  4. /var/www/myweb #允许所有客户端访问
  5. /var #拒绝所有客户端访问
  6. /webroot #拒绝所有客户端访问
  7. <Directory/>
  8. Require all denied #拒绝所有人访问
  9. </Directory>
  10. <Directory "/var/www">
  11. Require all granted #允许所有人访问
  12. </Directory>
  13. /webroot/abc/test #拒绝所有人访问
  14. /var/www/myweb #允许所有人访问
  15. 总结:默认情况下网页文件必须在/var/www目录下才能允许访问
  16. 例如:
  17. ]# mkdir /webroot
  18. ]# echo wo shi webroot > /webroot/index.html
  19. ]# vim /etc/httpd/conf/httpd.conf
  20. …….此处省略一万字
  21. DocumentRoot "/webroot"
  22. <Directory "/webroot"> #针对于/webroot路径访问
  23. Require all granted #允许所有人访问
  24. </Directory>
  25. …….此处省略一万字
  26. ]# systemctl restart httpd #重启服务
  27. ]# curl 192.168.88.240
  28. wo shi webroot

客户端的浏览器 192.168.88.240—->http协议进行访问—->服务端192.168.88.240 接收http协议的请求—->httpd进程—->DocumentRoot /webroot—->/webroot/index.html
客户端 浏览器 192.168.88.240 #网络路径
服务端/webroot/index.html #实际路径
服务端是从DocumentRoot设置的路径作为起始点
浏览器 192.168.88.240=/webroot
客户端 浏览器 192.168.88.240/abc #网络路径
服务端/webroot/abc/index.html #实际路径

网络路径与实际路径

DocumentRoot —-》/webroot
网络路径:curl http://192.168.88.240
实际服务:/webroot
访问过程:客户端curl http://192.168.88.240--->服务端192.168.88.240---》80---》httpd------》/etc/httpd/conf/httpd.conf---》DocumentRoot —-》/webroot—-》index.html
网络路径:curl http://192.168.88.240/abc
实际服务:/webroot/abc/index.html
DocumentRoot —-》/webroot
网络路径:curl http://192.168.88.240/webroot/abc
实际服务:/webroot/webroot/abc/index.html

基于端口访问

Listen:监听IP地址: 监听端口(80)
端口:数字编号起到标识作用,标识协议或者进程
http协议默认端口:80
建议自定义端口时大于1024,端口的极限65535

  1. [root@server ~]# vim /etc/httpd/conf/httpd.conf #修改主配置文件
  2. …….此处省略一万字
  3. Listen 80
  4. Listen 8000
  5. …….此处省略一万字

NFS服务基础

• Network File System,网络文件系统
– 用途:为客户机提供共享使用的文件夹
– 协议:NFS( 2049)、RPC( 111)
• 所需软件包:nfs-utils
• 系统服务:nfs-server

  1. [root@server ~]# rpm -q nfs-utils #检测nfs软件包是否安装
  2. nfs-utils-1.3.0-0.54.el7.x86_64
  3. [root@server ~]# mkdir /public #创建共享目录
  4. [root@server ~]# echo haha > /public/h.txt
  5. [root@server ~]# echo xixi > /public/x.txt
  6. [root@server ~]# ls /public/
  7. [root@server ~]# vim /etc/exports
  8. 文件夹路径 客户机地址(权限)
  9. /public *(ro) #允许所有客户端进行只读访问 *表示所有 (ro)表示只读访问 (rw)表示读写访问
  10. [root@server ~]# systemctl restart nfs-server #重启nfs服务
  11. 虚拟机B:客户端
  12. [root@server ~]# rpm -q nfs-utils
  13. nfs-utils-1.3.0-0.54.el7.x86_64
  14. [root@server ~]# showmount -e 192.168.88.240
  15. Export list for 192.168.88.240:
  16. /public *
  17. [root@server ~]# mkdir /mnt/mynfs
  18. [root@server ~]# mount 192.168.88.240:/public /mnt/mynfs
  19. [root@server ~]# ls /mnt/mynfs
  20. [root@server ~]# df -h /mnt/mynfs #查看正在挂载的设备信息
  21. 实现开机自动挂载 _netdev:声明网络设备,系统在具备网络参数后,再进行挂载本设备
  22. [root@server ~]# vim /etc/fstab
  23. ……此处省略一万字
  24. 192.168.88.240:/public /mnt/mynfs nfs _netdev 0 0

触发挂载(了解内容)

• 由autofs 服务提供的“按需访问”机制
– 只要访问挂载点就会触发响应,自动挂载指定设备
– 闲置超过时限(默认5分钟)后,会自动卸载
触发挂载实现,必须多级的目录结构:/监控目录/挂载点目录
主配置文件/etc/auto.master
– 监控点目录 挂载配置文件的路径
挂载配置文件,比如/etc/auto.misc
– 触发点子目录 -挂载参数 :设备名

  1. [root@pc2 ~]# vim /opt/xixi.txt #修改挂载设备
  2. nsd -fstype=iso9660 :/dev/cdrom
  3. [root@pc2 ~]# systemctl restart autofs #重启服务
  4. l 触发挂载进阶autofsNFS
  5. 虚拟机B访问/myauto/nfs,虚拟机A nfs共享/public挂载到/myauto/nfs
  6. [root@pc2 ~]# yum -y install autofs
  7. [root@pc2 ~]# vim /etc/auto.master
  8. ……此处省略一万字
  9. /myauto /opt/xixi.txt
  10. ……此处省略一万字
  11. [root@pc2 ~]# vim /opt/xixi.txt
  12. nsd -fstype=iso9660 :/dev/cdrom
  13. abc -fstype=nfs 192.168.88.240:/public
  14. [root@pc2 ~]# systemctl restart autofs
  15. [root@pc2 ~]# ls /myauto/abc

scp命令-真机机传递数据到虚拟机

  1. [root@server ~]# scp /linux-soft/1/tools.tar.gz root@192.168.88.240:/root #从本机传输文件到远程服务器
  2. [root@server ~]# scp -r /linux-soft/1/podman root@192.168.88.240:/root #从本机传输目录到远程服务器