第8章 丰富多彩的WWW世界-Web服务器_第1页
第8章 丰富多彩的WWW世界-Web服务器_第2页
第8章 丰富多彩的WWW世界-Web服务器_第3页
第8章 丰富多彩的WWW世界-Web服务器_第4页
第8章 丰富多彩的WWW世界-Web服务器_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章丰富多彩的WWW世界——Web服务器01学习情境设计目录02基础知识03工作任务17——Linux系统中apache服务器搭建04工作任务18——Linux系统中nginx服务器搭建05工作任务19——Windows系统中Web服务器搭建01学习情境设计1学习情境导入新星公司规模不断扩大,在对外开展业务活动时,往往需要将一些宣传资料打印出来。为了宣传企业形象及展示产品资料,公司领导层决策搭建Web服务器。据NetCraft公布的2020年3月份WEB服务器市场占有率nginx占36.48%,apache占24.51%,微软IIS占14.21%新星公司已经在自己的DNS服务上解析了,Web服务器平台考虑CentOS7或者WindowsServer2016。2学习目标章节重点1.Web服务的工作原理。2.Linux系统下apache主配置文件的配置。3.Linux系统下nginx主配置文件的配置。4.WindowsServer系统下IIS配置Web服务器。5.Web服务器的测试。章节难点1.Linux系统下apache主配置文件的配置。2.Linux系统下nginx主配置文件的配置。技能目标1.能够完成Linux中web服务器搭建与测试等工作任务。2.能够完成WindowsServer中web服务器搭建与测试等工作任务。知识目标1.了解web工作原理。2.掌握Linux、WindowsServer中搭建、配置web服务器的方法。建议学习方法通过教师的课堂演示,动手搭建Linux、WindowsServer操作系统下web服务器,实现web服务。在Linux、WindowsServer平台下进行web测试。02基础知识1HTTP协议HTTP是HyperTextTransferProtocol(超文本传输协议)的缩写。它的发展是万维网协会(WorldWideWebConsortium)和Internet工程任务组IETF(InternetEngineeringTaskForce)合作的结果。HTTP协议用于从Web服务器传输超文本到本地浏览器,可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。2Web服务工作过程Web客户机运行客户端程序,即Web浏览器,其作用是响应用户的请求,解释并显示Web页面。Web浏览器通过HTTP协议将用户请求传递给Web服务器。常用的客户端程序是浏览器(如IE等),用户可以在浏览器的地址栏内输入统一资源定位地址(URL)来访问Web页面。Web服务器端运行的是服务器程序,其最基本的功能是侦听和响应客户端的HTTP请求,并向客户端发出请求的处理结果。2Web服务工作过程(1)Web浏览器使用HTTP协议向一个特定的Web服务器发出Web页面请求。(2)若该服务器在特定端口(通常是TCP80端口)处收到Web页面请求,就发送一个应答,并在客户端和服务器之间建立连接。(3)Web服务器查找客户端所需文档。若Web服务器查找到客户端所请求的文档,则会将请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示,返回给客户端。(4)Web浏览器接收到文档后,就将它显示出来。若接收到的是错误提示,也会将其显示在Web浏览器中。(5)当客户端浏览器请求得到应答后,断开与服务器的连接。03工作任务17——Linux系统中apache服务器搭建1任务目的新星公司决定搭建Web服务器,展示公司形象及产品资料。因为Linux系统稳定、安全性较好,该公司信息中心决定在Linux系统中搭建apache服务器。2任务规划Linux选择CentOS7系统。Web服务器IP地址0,在DNS服务器上已经将解析到了0。要求打开浏览器,在地址栏中输入能够正确浏览网页。另外,公司的oa系统也是基于B/S结构的,同样要部署到apache服务器上。在DNS服务器将也解析到了0。3Apache的安装与启动通过如下命令查询系统是否已安装了Apache软件包[root@localhost~]#yumlistinstalled|grephttpd如果没有安装httpd软件包,配好yum源,使用yum命令安装:[root@localhost~]#yuminstall-yhttpd3Apache的安装与启动启动httpd服务,其命令为:[root@localhost~]#systemctlstarthttpd设置httpd服务开机自启动,其命令为:[root@localhost~]#systemctlenablehttpd4认识Apache服务器配置文件主配置文件在/etc/httpd/conf目录下。httpd.conf配置文件主要由三个部分组成,分别是全局环境变量、主服务器配置和虚拟主机设置。每个部分都有相应的配置语句,所有配置语句的语法均为:配置参数名称(选项)参数值4认识Apache服务器配置文件(1)ServerRoot:设置服务器根目录的路径Apache服务器根目录是指Apache存放配置文件和日志文件的目录,默认情况下根目录位于“/etc/httpd”。ServerRoot“/etc/httpd”(2)Listen:设置监听IP地址及端口号Apache默认在本机所有可用IP地址的TCP80端口上监听客户端的请求:Listen80如设置服务器只监听来自8的80端口和0的8080端口:Listen8:80Listen0:80804认识Apache服务器配置文件(3)ServerAdmin:设置系统管理员E-mail为了便于排除错误,错误网页中通常包含有系统管理员的E-mail地址:ServerAdminadmin@(4)ServerName:设置服务器主机名称参数ServerName可使服务器识别自身的信息,如果服务器有域名,则该参数设为服务器域名,如果没有域名则填入服务器的IP地址:ServerName:8080或:ServerName0:80804认识Apache服务器配置文件(5)DocumentRoot:设置主目录的路径需要发布的网页一般都放在这个目录下:DocumentRoot“/var/www/html”(6)DirectoryIndex:设置默认文件默认文件是指在Web浏览器中输入Web站点的IP地址或域名即显示出来的Web页面,即通常所说的主页:DirectoryIndexindex.html若要添加index.htm和index.jsp作为默认文件,可以做如下修改:DirectoryIndexindex.htmlindex.htmindex.jspindex.php4认识Apache服务器配置文件(7)AddDefaultCharset:设置默认字符集Apache默认字符集是UTF-8,当客户端访问中文网页时会出现乱码现象。解决的办法就是将默认字符集改为GB2312:AddDefaultCharsetGB2312(8)配置区域(容器)与访问控制命令:<>……</>指定配置区域内不同对象的各种访问控制。常用的区域有:目录(虚拟目录)区域:<Directory>……</Directory>。虚拟主机区域:<VirtualHost>……</VirtualHost>。4认识Apache服务器配置文件(9)Include语句配置文件中有“Includeconf.modules.d/*.conf”语句,意味着加载WEB服务器功能模块的配置文件可以放到/etc/httpd/conf.modules.d/目录下,只要文件以.conf结尾都可以包含到主配置文件。/etc/httpd/conf.modules.d/目录一般用来保存apache服务的功能模块。“IncludeOptionalconf.d/*.conf”表示/etc/httpd/conf.d/目录下以.conf结尾的配置文件也可以包含到主配置文件。/etc/httpd/conf.d/一般用来保存虚拟主机配置文件。5Apache服务器配置步骤1.设置服务IP地址设置服务器IP地址为0,关闭防火墙,关闭SELinux,可参考第二章内容。2.解析www与oa主机配置DNS服务器将的IP地址解析为0,解析到0,可参考第四章内容。3.新建测试主页按以下命令创建测试主页:[root@localhost~]#mkdir/var/www/sdcet[root@localhost~]#echo"Welcometo">/var/www/sdcet/index.html[root@localhost~]#mkdir/var/www/oa[root@localhost~]#echo"Welcometooaweb">/var/www/oa/index.html5Apache服务器配置步骤4.修改配置文件采用搭建多个虚拟主机的方式实现该工作任务,主配置文件中内容不做修改:[root@localhost~]#vim/etc/httpd/conf.d/sdcet.conf<VirtualHost:80>//定义虚拟主机ServerName:80//定义虚拟主机名称

ServerAdminadmin@//定义管理员邮箱

DocumentRoot"/var/www/sdcet"//定义WEB站点根路径</VirtualHost>//定义容器结束<Directory/var/www/sdcet>//定义站点根路径属性

DirectoryIndexindex.html//定义站点首页文件

AllowOverrideNone//.htaccess文件将被忽略

Requireallgranted//允许所有请求访问资源</Directory>//定义容器结束5Apache服务器配置步骤[root@localhost~]#vim/etc/httpd/conf.d/oa.conf<VirtualHost:80>ServerName:80ServerAdminadmin@DocumentRoot"/var/www/oa"</VirtualHost><Directory/var/www/oa>DirectoryIndexindex.htmlAddDefaultCharsetGB2312AllowOverrideNoneRequireallgranted</Directory>5Apache服务器配置步骤5.重启httpd重启httpd服务,使配置生效:[root@localhost~]#systemctlrestarthttpd6Web服务测试打开浏览器,在地址栏中输入与,然后回车,测试Web服务器。7拓展与提高1.创建虚拟目录虚拟目录是位于Apache的主目录之外的目录,不包含在Apache的主目录中,但对于访问Web站点的用户而言,虚拟目录与位于主目录中的其他子目录是一样的。通过创建虚拟目录,可以在主目录以外的其他目录中发布Web页面文件。可以使用Alias选项创建虚拟目录,创建后用户就可以通过Web浏览器使用别名来访问虚拟目录了。7拓展与提高以8.3.7中站点中创建虚拟目录为例:[root@localhost~]#mkdir/var/resource[root@localhost~]#echo"AliasTest">/var/resoure/index.html7拓展与提高[root@localhost~]#vim/etc/httpd/conf.d/sdcet.conf<VirtualHost:80>ServerName:80ServerAdminadmin@DocumentRoot"/var/www/sdcet"Alias/resource/var/resource//定义虚拟目录</VirtualHost><Directory/var/www/sdcet>DirectoryIndexindex.htmlAllowOverrideNoneRequireallgranted</Directory><Directory/var/resource>//定义路径属性

OptionsIndexesMultiViewsFollowSymLinksAllowOverrideNone//.htaccess文件将被忽略

Requireallgranted//允许所有请求访问资源</Directory>7拓展与提高打开浏览器,测试Web服务器的虚拟目录7拓展与提高2.设置目录属性(1)AllowOverride在配置文件中,AllowOverride参数是指明Apache服务器是否去找.htacess文件作为配置文件,该参数的值包括AuthConfig、FileInfo、Indexes、Limit、None、All等基于安全和效率的考虑,虽然可以通过.htaccess文件来设置目录的访问权限,但应尽可能地避免使用.haccess文件。因此,一般将AllowOverride设置为“None”,即禁止使用.htaccess文件的设置:AllowOverrideNone当AllowOverride参数值为“All”时,.htaccess文件可以覆盖任何以前的配置。7拓展与提高(2)定义目录特性选项在<Directory>语句中,可以使用Options来定义目录的特性,即设置某个目录使用哪些特性,这些特性包括Indexes、MultiViews和FollowSymlinks等。

Indexes该特性表明目录允许“目录浏览”,当客户仅指定要访问的目录,但没有指定具体要访问目录下的哪个文件,而该目录下又不存在默认文件时,Apache将以超文件形式返回该目录中的文件和子目录的列表。7拓展与提高

MultiViews该特性表明目录允许内容协商的多重视图,即当客户需要访问的对象在目录中不存在时,Apache将根据客户所访问对象的内容返回智能处理后的结果。例如,当客户访问“00/log/a”时,Apache会查找log目录下的所有a.*文件,假如该目录下存在a.gif文件,则Apache将返回a.gif文件至客户端,而不会返回错误信息。

FollowSymlinks该特性表明允许在该目录下使用符号链接。7拓展与提高

(3)实现访问控制Apache2.4及以上的版本,目录的访问控制是通过Require语句实现,这与之前的版本使用allow和deny语句实现访问控制不同。允许允许所有访问请求:Requireallgranted拒绝所有访问请求:Requirealldenied只允许来自特定IP网段(或IP地址)的访问请求,其他请求将被拒绝:Requireip/24拒绝来自特定IP网段(或IP地址)访问请求,但允许其它访问请求:RequireallgrantedRequirenotip07拓展与提高3.实现认证访问httpd-tools安装完成后,会生成htpasswd命令,使用该命令可以创建认证口令文件,向口令文件中添加user1用户:[root@www~]#yuminstallhttpd-tools[root@www~]#htpasswd-cm/etc/httpd/conf/user.listuser1Newpassword:Re-typenewpassword:Addingpasswordforuseruser17拓展与提高以8.3.5节的站点为例,使用vi编辑器修改站点配置文件:[root@www~]#vim/etc/httpd/conf.d/sdcet.conf<VirtualHost:80>ServerName:80ServerAdminadmin@DocumentRoot"/var/www/sdcet"Alias/resource/var/resource</VirtualHost><Directory/var/www/sdcet>DirectoryIndexindex.htmlAllowOverrideNoneAuthTypeBasicAuthName"auth"AuthUserFile/etc/httpd/conf/user.listRequireuseruser1</Directory>7拓展与提高使用浏览器测试限制用户访问的Web服务7拓展与提高4.Apache虚拟主机的配置虚拟主机能够实现用一个Web服务器设置多个Web站点的功能。各个虚拟主机之间是完全独立的,从外界来看,虚拟主机和独立主机的表现是完全一样的。虚拟主机可以分为基于IP地址的虚拟主机、基于端口的虚拟主机,基于域名的虚拟主机。8.3.5节的例子就是使用基于域名的虚拟主机实现的。虚拟主机的配置文件与8.3.5相同,需要指出的是,在实现基于端口的虚拟主机时,需要在主配置文件中增加Listen语句,指定监听端口,如:Listen8000Listen808004工作任务18——Linux系统中nginx服务器搭建1任务目的新星公司决定搭建Web服务器,展示公司形象及产品资料。因为Linux系统稳定、安全性较好,该公司信息中心决定在Linux系统中搭建nginx服务器。2任务规划Linux选择CentOS7系统。Web服务器IP地址0,在DNS服务器上已经将解析到了0。要求打开浏览器,在地址栏中输入能够正确浏览网页。3nginx的安装与启动1.nginx的安装创建nginx的yum源:[root@localhost~]#rpm-Uvh/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm3nginx的安装与启动官网下载的yum源文件内容如下:[nginx-stable]name=nginxstablerepobaseurl=/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=/keys/nginx_signing.keymodule_hotfixes=true[nginx-mainline]name=nginxmainlinerepobaseurl=/packages/mainline/centos/$releasever/$basearch/gpgcheck=1enabled=0gpgkey=/keys/nginx_signing.keymodule_hotfixes=true3nginx的安装与启动nginx的yum源配好后,使用yum命令安装nginx:[root@localhost~]#yuminstallgcc-c++//安装gcc环境[root@localhost~]#yuminstall-ynginx3nginx的安装与启动2.nginx的启动(1)启动nginx服务,其命令为:[root@localhost~]#systemctlstartnginx(2)设置nginx服务开机自启动,其命令为:[root@localhost~]#systemctlenablenginx4认识nginx配置文件[root@localhost~]#cat/etc/nginx/nginx.confusernginx;//配置用户nginxworker_processes1;//允许生成的进程数1error_log/var/log/nginx/error.logwarn;//设置错误日志路径,级别pid/var/run/nginx.pid;//指定nginx进程运行文件存放地址events{worker_connections1024;//设置最大连接数1024}4认识nginx配置文件http{include/etc/nginx/mime.types;//包含该文件

default_typeapplication/octet-stream;//默认文件类型

log_formatmain'$remote_addr-$remote_user[$time_local]"$request"''$status$body_bytes_sent"$http_referer"''"$http_user_agent""$http_x_forwarded_for"';access_log/var/log/nginx/access.logmain;//设置访问日志路径

sendfileon;//允许sendfile方式传输文件

#tcp_nopushon;keepalive_timeout65;//设置连接超时时间,单位秒

#gzipon;include/etc/nginx/conf.d/*.conf;//包含该目录中.conf结尾的文件}4认识nginx配置文件全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,允许生成workerprocess数等。events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。http块:配置代理、缓存、日志定义等绝大多数功能和第三方模块的配置,如文件引入、mime-type定义、日志自定义、是否使用sendfile传输文件,连接超时时间,单连接请求数等。可以嵌套server块和location块。server块:配置虚拟主机的相关参数,一个http块中可以有多个server。location块:配置请求的路由,以及各种页面的处理情况。5Nginx服务配置步骤1.设置服务IP地址设置服务器IP地址为0,关闭防火墙,关闭SELinux,可参考第二章内容。2.解析www主机配置DNS服务器将的IP地址解析为0,可参考第四章内容。3.新建测试主页按以下命令创建测试主页:[root@localhost~]#mkdir/usr/share/nginx/sdcet[root@localhost~]#echo"sdcet’snginxwebsite">/usr/share/nginx/sdcet/index.html5Nginx服务配置步骤4.修改配置文件在/etc/nginx/conf.d/目录下创建一个server配置文件,主配置文件中内容不做修改:[root@localhost~]#touch/etc/nginx/conf.d/sdcet.conf[root@localhost~]#vim/etc/nginx/conf.d/sdcet.confserver{listen80;server_name;location/{root/usr/share/nginx/sdcet;indexindex.html;}}5Nginx服务配置步骤5.重启nginx重启nginx服务,使配置生效:[root@localhost~]#systemctlrestartnginx6Web服务测试打开浏览器,在地址栏中输入,然后回车,测试Web服务器7拓展与提高1.实现认证访问安装httpd-tools,使用htpasswd命令创建认证口令文件,向口令文件中添加bob用户:[root@localhost~]#yuminstall-yhttpd-tools[root@localhost~]#mkdir/usr/local/nginx[root@localhost~]#htpasswd-c/usr/local/nginx/passwd.dbbob7拓展与提高修改8.4.5节中创建的配置文件:[root@localhost~]#vim/etc/nginx/conf.d/sdcet.confserver{listen80;server_name;auth_basic"UserAuthentication";auth_basic_user_file/usr/local/nginx/passwd.db;location/{root/usr/share/nginx/sdcet;indexindex.html;}}7拓展与提高保存退出,重启nginx:[root@localhost~]#systemctlrestartnginx打开浏览器,地址栏输入,回车测试。7拓展与提高2.实现访问控制实现nginx站点的访问控制,可以通过在location块中的增加allow、deny语句实现。如仅限制某IP或IP网段访问WEB站点:denyIP或IP网段;allowall;仅允许某IP或IP网段访问,其它禁止:allowIP或IP网段;denyall;7拓展与提高修改8.4.5节中创建的配置文件:[root@localhost~]#vim/etc/nginx/conf.d/sdcet.confserver{listen80;server_name;location/{root/usr/share/nginx/sdcet;indexindex.html;deny/24;allowall;}}7拓展与提高重启nginx,打开浏览器测试05工作任务19——Windows系统中Web服务器搭建1任务目的新星公司决定搭建Web服务器,展示公司形象及产品资料。因为WindowsServer系统图形化界面操作、便于管理,该公司信息中心决定在WindowsServer系统中搭建Web服务器。2任务规划选择WindowsServer2016操作系统系统,Web服务器IP地址0,在DNS服务器上已经将解析到了0。要求打开浏览器,在地址栏中输入能够正确浏览网页。另外,公司的oa系统也是基于B/S结构的,同样要部署到WEB服务器上。在DNS服务器将也解析到了0。3IIS服务的安装步骤参考第七章7.4.3节内容安装IIS。值得注意的是,在“选择角色服务”界面,勾选Web服务器(IIS)的基本角色服务,如安全性、常见的HTTP功能、性能、管理工具等。其它保持默认,IIS安装完成之后,从“服务器管理器仪表板”界面右上角“工具”菜单,选择“InternetInformationServices(IIS)管理器”命令,打开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论