4.29 课堂笔记

动静态网页资源

MIME 类型(MIME type)

URL,全称Uniform Resource Location,中文翻译为统一资源定位符,也被称为网页地址(网址)

URI,全称Uniform Resource Identifier,中文翻译为统一资源标识符,是一个用于标识某一互联网资源名称的字符串

静态网页资源

1)什么是静态网页资源?

放在服务器上看到的是什么,显示的就是什么、一旦存在于服务器上,就不会有任何改变。

静态内容特点:

1、图片、附件、视频,前端页面语言.html,.js,.css,等。

2、客户端解析(效率更高),而不是在服务端解析。    #性能优化关键


3、后端没有数据库。

4、地址里没有特殊符号,例如&&、?等。

5、网页发布一旦完成,就不会改变(除非人工修改)。

6、存储地点,存储于NFS这样的服务里(共享存储)。

7、内容来源(核心:用户上传:图片和视频等;程序员开发的代码(.html,.js,.css))

动态内容:

1、文件结尾.php,.jsp,.asp,.do

2、服务端解析。米饭菜现做。性能低。尽量转成静态内容,效率提高10倍。

3、后端有数据库,内容来自于数据库。

4、地址里有特殊符号,例如 && ?等。

5、磁盘存在动态程序文件,内容没有实体文件。

6、存储地点,存储于MySQL,mongodb这样数据库里。

高并发的网站三个都重要:

性能考虑

维护考虑

功能考虑

伪静态内容:

动态的内容伪装成静态。

目的:

1、便于搜索引擎收录(乐于收录静态内容)。 SEO

欺骗搜索引擎

2、提升用户体验

性能?

理论性能比动态还差,并发不是很大,下降不明显。

利用rewrite技术将动态网页伪装成静态网页(URL地址改写)。

首要静态---其次是动态。

伪静态:SEO人员关注。

转码--审核----

1)凡是发布后不需要再改的网站业务,都可以直接静态化(1台顶10台动态)。

  或者需要改也行,但是由公司内部人员也可以直接静态。

  优酷,有用户上传(转码和审核的过程),自动给用户信念,发上来别着急看。

2),由用户上传、修改(内容),然后对访问的实时要求高。

  1、让发布人能够实时看到,直接访问动态(查数据库和存储)。

  2、让其他人浏览找静态



网站访问量:

IP(Internet Protocol):一个带有公网IP的电脑访问

IP(独立IP)即Internet Protocol,这里指独立IP数,独立IP数是指不同IP地址的计算机访问网站时被计算的总次数。独立IP数是衡量网站流量的一个重要指标。一般一天内(00:00-24:00)相同IP地址的客户端访问网站页面只被计算为一次,记录独立IP的时间可为一天或一个月,目前通用的标准为“一天”。

网站独立IP数100万。推测至少100万人

100万台具有公网IP的电脑。

不精准:网站独立IP 100万  100万人  200万人 1000万人

粗略的流量统计。

IP(Internet Protocol):一个带有公网IP的电脑访问

一个带有公网IP:代表多少电脑?

1个IP

PV(Page view) 就是一个页面浏览。

5000万PV,百度PV  千亿PV。

UV(Unique Visitor)

UV(独立访客)即Unique Visitor,同一台客户端(PC或移动端)访问网站被计算为一个访客。一天(00:00-24:00)内相同的客户端访问同一个网站只计算一次UV。UV一般是以客户端Cookie等技术作为统计依据的,实际统计会有误差。

考虑到一台客户端电脑可能会有多人使用的情况,因此,UV(独立访客)实际上并不一定是独立的自然人访问。

网站流量统计工具软件

PWIKI awstats  ELK收集日志。

在线统计流量工具。

每秒网站可以最大处理的连接数,叫做并发连接数。

必会面试题:

1) 请描述DNS系统解析原理?

2) 请描述HTTP协议的工作原理?

3)用户访问网站流程。

4) 请问你的公司的网站访问量是多少(PV、IP、并发)?

5) 请说出http状态码200、301、403、404、500、502、504代表的意义?

6)静态、动态、伪静态

Web服务软件:

1、静态软件:Nginx(Tengine)、Apache、Lighttpd

2、动态软件:php程序(Php引擎)、JAVA程序(tomcat/resin/jboss/weblogic)、

python程序(Python)

===========================================================

Nginx (“engine x”) 是一个开源的、支持高性能、高并发的WWW服务和代理服务软件。它是由俄罗斯人Igor Sysoev开发的,最初被应用在俄罗斯的大型网站www.rambler.ru上。后来作者将源代码以类BSD许可证的形式开源出来供全球使用。

3大主要功能

1)网页服务:web服务

apache,lighttp

2)负载均衡 反向代理

haproxy,lvs

3)缓存服务器

squid,varnish

特点:静态小文件高并发,占用资源少。软件本身小。

企业面试时需要解答如下Nginx HTTP服务器的特色及优点:

1)支持高并发:能支持几万并发连接(特别是静态小文件业务环境)。

2)资源消耗少:在3万并发连接下,开启10个Nginx线程消耗不到200MB内存。

3)可以做HTTP反向代理及加速缓存,

即负载均衡功能,内置对RS节点服务器健康检查功能,这相当于专业的haproxy软件或lvs的功能。

具备squid等专业缓存软件等的缓存功能。

Nginx作为Web服务器的主要应用场景:

? 1)使用Nginx运行HTML、JS、CSS、小图片等静态数据(此功能类似lighttpd软件)。

? 2)Nginx结合FastCGI运行PHP等动态程序(例如使用fastcgi_pass方式)。

? 3)Nginx结合tomcat/resin等支持Java动态程序(常用proxy_pass方式)。

正向代理:由内向外。 代替 效率低

代替局域网内PC,请求外部应用服务。

反向代理:由外向内 代替 效率低

代替外部的用户 请求内部的应用服务器。

负载均衡:转发。甩手掌柜。效率高

为什么Nginx总体性能比Apache高?

Nginx使用最新的epoll(Linux2.6内核)和kqueue(freebsd)异步网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached软件都采用的是epoll模型。

Apache则使用的是传统的select模型

Nginx使用最新的epoll模型

互联网 就用nginx

linux系统安装软件方法:

1)yum install nginx -y(rpm包,自动解决所有依赖软件)

简单,没法定制。

2)rpm -ivh rpm包(自己解决所有依赖软件)

简单,没法定制,没法自动解决所有依赖软件

3)编译安装(c语言)

可以定制,编译过程复杂,时间长。

./configure 配置

make 编译

make install 安装

4)利用源码制作符合企业需求的rpm软件包,放到yum仓库里,最后yum安装。

简单,可以随意定制。

rpm包定制

http://blog.oldboyedu.com/autodeploy-rpm/

yum仓库搭建

http://blog.oldboyedu.com/autodeploy-yum/

mkdir /home/oldboy/tools

cd /home/oldboy/tools

wget http://nginx.org/download/nginx-1.14.0.tar.gz

tar xf nginx-1.14.0.tar.gz

cd nginx-1.14.0

====================================

useradd -s /sbin/nologin www -M

yum install pcre pcre-devel -y

yum install openssl openssl-devel  -y

====================================

./configure  --user=www --group=www --prefix=/application/nginx-1.14.0/ --with-http_stub_status_module  --with-http_ssl_module --with-pcre

make

make install

ln -s /application/nginx-1.14.0/ /application/nginx

echo $? 返回0代表步骤正确。

验证:

[root@web01 nginx-1.14.0]# ls /application/nginx/

conf  html  logs  sbin

[root@web01 nginx-1.14.0]# /application/nginx/sbin/nginx

[root@web01 nginx-1.14.0]# lsof -i :80

COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME

nginx  8898 root    6u  IPv4  23954      0t0  TCP *:http (LISTEN)

nginx  8899  www    6u  IPv4  23954      0t0  TCP *:http (LISTEN)

[root@web01 nginx-1.14.0]# wget 10.0.0.7

--2018-06-22 12:36:30--  http://10.0.0.7/

Connecting to 10.0.0.7:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 612 [text/html]

Saving to: “index.html”

OVER.

--prefix=PATH  路径

--user=USER    用户

--group=GROUP  组

--with-pcre    伪静态

--with-http_stub_status_module 状态

--with-http_ssl_module      加密 443

你可能感兴趣的:(4.29 课堂笔记)