1) 网站服务概念知识(名词概念)
a 用户访问网站原理过程
网站服务---问题---网站页面不能正常显示 第一个步骤: 进行域名解析过程 本地解析(测试)/授权服务器上进行DNS配置 PS: 必须申请一个域名 ---> 备案 ---> 域名 和 服务器地址绑定 阿里云 第二个步骤: 根据解析后的IP地址进行网络连接建立(三次握手过程)
阿里云安全组(防火墙) 负载均衡--wed服务器--数据库服务器/缓存服务器/存储服务器--备份服务器 第三个步骤: 向服务器发送请求信息 --- HTTP请求报文 https://www.baidu.com /img/bd_logo1.png bd_logo2.png 第四个步骤: 服务端进行相应请求 /img/bd_logo1.png --> 浏览器识别 第五个步骤: 访问链路断开连接过程(四次挥手过程)
b HTTP协议组成部分
超文本传输协议
HTTP请求报文:客户端 (浏览器)--->服务端(web服务器)
1)请求行:
GET / HTTP/1.1
a 请求方法: GET(从服务端获取信息) POST(将信息提交给服务端)
b 请求资源:默认/ ==/index.html
c 协议版本:1.0 1.1 2.0(高并发)
TCP短连接:一次建立连接,可以发送一次请求信息
TCP长连接:一次建立连接,可以发送多次请求信息
2)请求头:
> User-Agent: curl/7.29.0 ----请求客户端软件信息
> Host: www.baidu.com ----显示不同的网站页面信息
3)空行:
4)请求主体:
get 方法访问网站是无法看到请求主体信息
post 方法访问网站是可以看到请求主体信息
HTTP响应报文:服务端 -- > 客户端
1)起始行:
HTTP/1.1 200 OK
a 协议版本
b 状态码: 表示客户端访问结果
c 状态码
200 OK --- 可以正常访问网站
301 Moved Permanently --- 永久跳转 会将跳转信心在浏览器中缓存 域名信息永久更换
302 Moved Temporarily --- 临时跳转 不会将跳转信心在浏览器中缓存 域名频繁变化情况
304 ---not modified 浏览器缓存
401 ---- 访问认证失败 VIP==>账号/密码
403 ---- 禁止用户访问 (Forbidden) 根据IP网段或地址
404 ---- 访问页面资源无法找到
500 --- 网站架构服务器出现问题了
502 1) 服务器负载过高
503 2) 服务器网络异常
504 3) 服务器程序代码异常
4) 服务器是否服务停止 tail -f 日志
5) 服务器硬件资源不足
2)响应头:
3)空行:
4)响应主体:
网站页面源代码信息 --> 浏览器解析 ---> 查看页面的内容
c 网站资源信息(图片 视频 -- 静态资源 表格信息 搜索信息 评价 -- 动态资源)
静态资源信息:
1) 资源扩展名信息:.jpg html htm css js mp4
2) 静态资源网站页面是编写好之后,不方便随意变更
3)静态网站交互性很差,没有数据库支持
4)静态资源进行加载显示时效率较高
客户端请求--> 负载均衡-->web服务器
动态资源信息
1)资源扩展名信息, php asp do jsp
2)动态资源网站页面是编写好之后,信息内容可以动态变化
3)动态网站叫交互性很强 拥有数据库
动态网页中的“?”在搜索引擎的收录方面存在一定的问题,
搜索引擎一般不会从一个网站的数据库中访问全部网页,
或者出于技术等方面的考虑,搜索蜘蛛一般不会去抓取网址中“?”后面的内容,
因此在企业通过搜索引擎进行推广时,需要针对采用动态网页的网站做一定的技术处理(伪静态技术),
以便适应搜索引擎的抓取要求。
4)动态网站资源不便于被搜索引擎收据 特殊符号:? % &
5)动态资源进行加载显示时效率较低
客户端请求--> 负载均衡-->web服务器--> 动态服务--> 数据库服务器
伪静态资源:
1) 静态网站资源便于被搜索引擎收录
2) 动态资源网站页面是编写好之后, 信息内容可以动态变化
3) 动态网站交互性很强 拥有数据库
URL: 统一资源定位符
URI: 统一资源标识符
https:// www.jianshu.com /p/c82737b5485c
url uri
d 网站用户访问度量方式(IP数 PV数 UV数)
根据IP数量进行统计: 统计用户访问网站源IP地址(公网地址) 参考数值
私网地址 ---> 公网地址
统计方法: awk 日志 piwik ELK 第三方 日志易 百度统计
根据PV数量进行统计: 网站页面访问量 参考数值
根据UV数量进行统计:cookie 会员卡 保存在客户端本地
session 会员记录表 保存网站服务器中(缓存服务器)
A电脑(cookie 01) --- www.jd.com 01
B电脑(cookie 02) --- www.jd.com 02
第三方 日志易 百度统计
http://alexa.chinaz.com/alexa_more.aspx
IP:20w PV: 30w 架构规模: 30-40 优化 web 数据库 CDN 阿里云
2) 常用网站服务软件
处理静态资源网站服务:nginx apache
处理动态资源网站服务:php tomcat
3) 网站服务软件部署 yum 编译安装
nginx软件概述说明
nginx软件并发处理静态请求能力较强, 服务器资源消耗少
网站服务压力测试 --- 几万并发 -- 大概100m内存
nginx软件是由俄罗斯开发出来, C语言开发(少量信息python)
如何部署nginx软件程序
1. yum
a 官方源yum安装nginx 软件目录结构(标准) 最新稳定版
第一个历程: 更新yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
第二个历程: 安装软件
yum install -y nginx
b 非官方源yum安装nginx 软件目录结构 历史版本
yum install -y nginx
2. 编译安装
第一个历程: 下载软件源码包
wget http://nginx.org/download/nginx-1.16.1.tar.gz
第二个历程: 下载nginx所需的依赖软件
openssl-devel : 可以让网站实现HTTPs访问
pcre-devel : 兼容perl语言正则表达式
第三个历程: 解压软件程序 进入到软件源码目录编译安装
编译安装软件三步曲
1) 配置过程
./configure --prefix=/application/nginx-1.16.1 --with-http_ssl_module --with-http_stub_status_module
--prefix=PATH set installation prefix
程序安装好后存储数据目录
--sbin-path=PATH set nginx binary pathname
设置命令文件保存目录
--modules-path=PATH set modules path
设置模块保存目录
--conf-path=PATH set nginx.conf pathname
配置文件保存目录
--error-log-path=PATH set error log pathname
--pid-path=PATH set nginx.pid pathname
--lock-path=PATH set nginx.lock pathname
--user=USER set non-privileged user for worker processes
指定worker进程管理用户
--group=GROUP set non-privileged group for worker processes
指定worker进程管理用户组
--with-http_ssl_module enable ngx_http_ssl_module
激活ssl模块功能
--with-http_stub_status_module enable ngx_http_stub_status_module
?????
2) 编译过程 == 翻译
make
3) 编译安装
make install
4) 利用网站服务软件搭建简单网站