WEB服务器的部署及优化

1.客户端所用资源信息详解

1.1什么是www

www是world wide web的缩写,及万维网,也就是全球信息广播的意思。

通常说的上网就是使用www来查询用户所需要的信息。
www可以结合文字、图形、影像以及声音等多媒体,超链接的方式将信息以Internet传递到世界各处去。
当你连接www网站,该网站会提供一些数据,客户端要使用可以解析这些数据的软件来处理,那就是浏览器。

1.2网址

URl:Uniform Resource ldentifier统一资源标识,分为URL和URN。

URN:Uniform Resource Naming,统一资源命名,P2P下载使用的磁力链接是URN的一种实现。

URL:Uniform Resorce Locator,统一资源定位符用于描述某服务器某特定资源位置。

两者区别:而URL提供查找该事物的方法。URN仅用于命名,而不指定地址

1.3URL组成

URL组成机构如下
<scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag>

定义:

scheme方案访问服务器以获取资源时要使用那种协议
use用户某些方案访问资源时需要的用户名
password密码用户对应的密码,中间用:分隔
host主机资源宿主服务器的主机名或IP地址
port端口资源宿主服务器正在监听的端口号,很多方案有默认端口号
path路径服务器资源的本地名,由一个/将其与前面的URL组件分隔
params参数指定输入的参数,参数为名/值对,多个参数,用;分隔
query查询传递参数给程序,如数据库,用?分隔,多个查询用&分隔
frag片段一小片或一部分资源的名字,此组件在客户端使用,用#分隔

2.http协议访问原理

2.1什么是HTTP

HTTP协议:全称为Hyper Text Transfer Protocol(超文本传输协议)。

简单来说http就是从服务器传输超文本(html)到本地浏览器的传输协议。

HTTP协议工作于B/S架构上,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务端发送请求(Request)Web服务端根据接收到的请求数据后,向客户端发送响应信息(Response)。

https://developer.mozilla.org/zh-CN/docs/Web

2.2http工作机制

一次http事务包括:

http请求:http request
http响应:http response

Web资源:web resource
一个网页由多个资源(文件)构成,打开一个页面,通常会有多个资源展示出来,但是每个资源都要单独请求。因此,一个"Web页面”通常并不是单个资源,而是一组资源的集合资源类型:
静态文件:无需服务端做出额外处理,服务器端和客户端的文件内容相同
常见文件后缀:.html,.txt,jpg,js,.css,mp3,avi
动态文件:服务端执行程序,返回执行的结果,服务器端和客户端的文件内容不相同
常见文件后缀:.php,jsp,asp

web中常用的语言 

 html语言:超文本标记语言

css 层叠样式表:表述网站的风格

js实现html和css实现不了的功能:比如动画效果

mine ( Multipurpose Internet Mail Extensions )多用途因特网邮件扩展

它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。

为了支持多媒体数据类型, HTTP 协议中就使用了附加在文档之前的 MIME 数据类型信息来标识数据类型。
其主要功能是让服务器将它们发送的多媒体数据的类型告诉浏览器。

服务器将 MIME 标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。

MIME 类型存在于 HTTP 响应报文的响应头部信息里,它是一种文本标记。

MIME 格式:type/subtype 文件类型后缀(html txt jpg png....)

http访问请求过程

3.http协议报文详解

请求报文

请求报文由三部分组成即:开始行、首部行、是体主体

开始行:请求方法 url 版本 CRLF

首部行通常用键值表示

空格

实体主题数据,一般在post动作中可以提看到 

响应报文

状态代码

状态码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值
状态码含义详解
1xx指示信息
表示请求已接收,继续处理
2xx成功
表示请求已被成功接收、理解、接受
3xx重定向
要完成请求必须进行更进一步的操作
4xx客户端错误
请求有语法错误或请求无法实现
5xx服务端错误
服务器未能实现合法的请求
常见状态代码、状态描述的说明如下:
状态码含义
200  OK
客户端请求成功
400 Bad Request
客户端请求有语法错误,不能被服务器所理解
401 Unauthorized
请求未经授权,这个状态代码必须和 WWW-Authenticate报头域一起使用
403 Forbidden
服务器收到请求,但是拒绝提供服务
404 Not Found
请求资源不存在,举个例子:输入了错误的URL
500 Internal Server Error
服务器发生不可预期的错误
503 Server Unavailable
服务器当前不能处理客户端的请求,一段时间后可能恢复正常

4.web服务的配置详解

 4.1web服务的常用种类

 Apache
 Nginx
 openresty
 大厂自研

4.2 nginx的部署与基本信息

开源版本的Nginx官网: http://nginx.org Nginx

在安装的过程中可以选择源码安装也可以选择使用软件包安装

源码安装下载相应的源码压缩包解压后编译完成安装

软件安装包可以使用rpm或者apt命令进行安装,也可以使用dnf通过软件仓库安装

以软件仓库安装为例:

创建软件库并挂载到目录

配置软件仓库

执行安装命令

查看selinux是否关闭

这里可以看到selinux是关闭的如果不是关闭的就输入以下代码关闭selinux并且重启

要使用nginx的话还需要关闭防火墙

开启nginx服务

本机ip为192.168.71.207,在浏览器上输入本机ip,7可以看到nginx已经下载完成并且启动服务。

默认发布访问文件

4.3 使用nginx服务

修改默认发布文件

修改默认端口

查看端口

修改端口,如果直接访问会被拒绝

输入:8080才可以访问

修改网页内容

默认发布文件

在/usr/share/nginx/html/增加一个以.html结尾的文件

写入lee'page内容,并查看是否写入,再进入/etc/nginx/nginx.conf文件

在44行增加 index    lee.html内容,输入nginx -t查看命令是否修改正确

在输入nginx -s reload重启nginx服务,在网页输入本机IP可以看到网页内容被修改了 

[root@localhost ~]# cd /usr/share/nginx/html/
[root@localhost html]# vim lee.html
[root@localhost html]# cat lee.html
lee'page
 

#修改
[root@localhost html]# vim /etc/nginx/nginx.conf

[root@localhost html]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost html]# nginx -s reload

在/usr/share/nginx/html/增加一个/html目录

在目录中写入 /html/lee.html,/etc/nginx/nginx.conf文件里将42行注释掉,在第43行写入 root     /html;内容

输入nginx -t查看命令是否修改正确,在输入nginx -s reload

重启nginx服务在网页输入本机IP可以看到网页内容被修改了

[root@localhost html]# mkdir  /html
[root@localhost html]# echo /html/lee.html > /html/lee.html
[root@localhost html]# cat /html/lee.html
/html/lee.html
[root@localhost html]# vim /etc/nginx/nginx.conf
[root@localhost html]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost html]# nginx -s reload

web服务器的访问控制

目录索引功能

在/usr/share/nginx/html/增加一个admin,将admin page内容输入进admin/index.html,下载httpd-tools服务

[root@localhost html]# mkdir admin
[root@localhost html]# echo admin page > admin/index.html
[root@localhost html]# cd

可直接访问

基于IP访问控制

基于用户访问认证

4.4 nginx虚拟主机设定

基于IP

设定访问

一个web服务器发布多个页面

 基于域名

5. web服务器数据加密

5.1 https简介

HTTP协议以明文方式发送内容,不提供任何方式的数据加密。

HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。

HTTPS全称:Hyper Text Transfer Protocol over Secure Socket Layer ),是以安全为目标的 HTTP通道。

HTTPS并不是一个新协议,而是HTTP+SSL(TLS)。

原本HTTP先和TCP直接通信,而加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信相当于 SSL被嵌在了HTTP和TCP之间。

5.2 https握手流程

5.3 部署https

生成密钥

设置配置文件

server {
listen 443 ssl;
server_name login.xuxu.org;
ssl_certificate /etc/nginx/certs/xuxu.org.crt;
ssl_certificate_key /etc/nginx/certs/xuxu.org.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
root /usr/share/nginx/login.xuxu.org/html;
index index.html index.htm;
}
[root@localhost conf.d]# nginx -t

[root@localhost conf.d]# nginx -s reload

5.4 搭建动态网站

动态网站指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。

动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。

动态网页:使用网页脚本语言,比如php、JSP等,通过脚本将网站内容动态存储到数据库,用户访 问网站是通过读取数据库来动态生成网页的方法

配置web服务器对php站点的支持

[root@localhost conf.d]# dnf install php -y
[root@localhost conf.d]# systemctl enable --now php-fpm

 修改/etc/nginx/nginx.conf文件内容

创建/php文件,写入内容

[root@localhost ~]# mkdir /php
[root@localhost ~]# cd /php
[root@localhost php]# vim index.php

验证,输入IP(192.168.71.20/index.php)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值