Linuxの(12):期間アーキテクチャ(4)---遠位部:HTTP&nginxの

原則HTTPプロトコル記述の概念

ときに、ユーザーのWebサイト1にアクセスするプロセスを経ます

#1 ①。ドメイン名は、対応するIPアドレスに解決に入力され、DNSサービスを使用して
    ローカルホストがドメイン名を入力した後、それがローカルキャッシュ情報とローカルホストを照会します
    再帰クエリを送信、リモートLDNSサーバへのローカルホストBは、
      ネットワークカードの設定をLDNS DNSサービス( 223.5.5.5 114.114.114.114 
    C LDNSサーバは、サーバLDNSへの要求に応答して、ルートサーバに要求を送信
    D LDNSサーバサーバLDNSへの要求に応答して、トップレベルドメイン・ネーム・サーバに要求を送信する
    セカンダリサーバへE LDNSリクエストLDNSサーバに応答してレベルドメイン名サーバ要求は、
    セカンダリドメインネームサーバ応答F LDNSサーバを介して情報(解像度レコード)を受信し、ローカルキャッシュは、
      ローカルホスト解像度レコードに送信する
    ローカルホストサーバが応答メッセージを受信G LDNSまた、サーバのIPアドレス使用してサイトを訪問し、キャッシュを解析し記録します
。#を知られているIPアドレスを使用して。②、ネットワーク接続が確立された3ウェイハンドシェイク③。サーバ・サイトへのローカルホストクライアントは、(HTTP要求パケットを要求しますhttpリクエストパケット)④。Webサービスが終了します ホストクライアントは、応答のHTTP応答パケット(HTTP応答パケット)返信⑤。4は、プロセスをオフに手を振ったの完全なネットワークを

2. HTTP通信の理論的根拠

HTTP要求パケットの
要求ライン:
 * リクエスト方法:私は要求の種類を私の顧客サービスの終了を完了したいと考えてい
           たファイルサーバの内容を取得するために取得する
           サーバー・ストレージにデータを送信するためにポストを
 *プロトコルバージョン:HTTP1.0 HTTP1.1 http2.0 
 HTTP1.0 :短い接続型プロトコルTCPある
 HTTP1。 1 :長いTCPコネクション型プロトコルが属する
 
:要求ヘッダ
空行の
リクエストボディは
 * GETメソッドはメインコンテンツ要求しなかった
 *のリクエストボディのコンテンツがある:POSTメソッド

HTTP応答パケットの
開始行を:
 *ステータスコード情報

 

HTTPリクエスト:

HTTPレスポンスメッセージ:

3. HTTPプロトコルリソース説明

# 1. 媒体资源类型
  web服务可以处理接收的资源类型(text/html css jpg avi)
  一般在web服务软件程序中,会有一个文件来定义媒体资源类型(mime.type)

# 2. URL/URI
  URL 统一资源定位符
  URI 统一资源标识符
  www.jd.com / error2.aspx
    URL           URI
    
# 3. 静态文件资源
  静态网页资源有几个重要的特征:
  1)    每个页面都有一个固定的URL地址,且URL一般以.html、.htm、.shtml等常见形式为后缀,
        而且地址中不含有问号“?”或“&”等特殊符号。
  2)    静态网页是实实在在保存在服务器上的文件实体,每个网页都是一个独立的文件。
  3)    网页内容是固定不变的,因此,容易被搜索引擎收录(容易被用户找到)(优点)。
  4)    因为网页没有数据库的支持,所以在网站制作和维护方面的工作量较大,
        当网站信息量很大时,完全依靠静态网页比较困难(缺点)。
  5)    网页的交互性较差,在程序的功能实现方面有较大的限制(缺点)。
  6)    网页程序在用户浏览器端解析,如IE浏览器,程序解析效率很高,
        由于服务器端不进行解析,并且不需要读取数据库,因此服务器端可以接受更多的并发访问。
        当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)。
        待客户端拿到数据后,在浏览器端解析并展现出来(优点)。

# 4. 动态文件资源
  1)    网页扩展名后缀常见为:.asp、.aspx、.php、.js、.do、.cgi等。    ※
  2)    网页一般以数据库技术为基础,大大降低了网站维护的工作量。    
  3)    采用动态网页技术的网站可以实现更多的功能,
        如用户注册、用户登录、在线调查、投票、用户管理、订单处理、发博文等。
  4)    动态网页并不是独立存在于服务器上的网页文件,当用户请求服务器上的动态程序时,
        服务器解析这些程序并可能通过读取数据库来返回一个完整的网页内容。
  5)    动态网页中的“?”在搜索引擎的收录方面存在一定的问题,
        搜索引擎一般不会从一个网站的数据库中访问全部网页,或者出于技术等方面的考虑,
        搜索蜘蛛一般不会去抓取网址中“?”后面的内容,因此在企业通过搜索引擎进行推广时,
        需要针对采用动态网页的网站做一定的技术处理(伪静态技术),以便适应搜索引擎的抓取要求。

# 5. 伪静态文件资源
  根本实质还是动态资源,将动态资源伪装成静态
  动态不便于搜索引擎收录  响应速度较慢

4. 网站度量值统计方法:

# 1. IP(独立IP),即Internet Protocol,这里指独立IP数,
  独立IP数是指不同IP地址的计算机访问网站时被计的总次数    

# 2. PV(访问量)即Page View,中文翻译为页面浏览,即页面浏览量或点击量,不管客户端是不是相同,
  也不管IP是不是相同,用户只要访问网站页面就会被计算PV   
   
# 3. UV(独立访客)即Unique Visitor,同一个客户端(PC或移动端)访问网站被计为一个访客。
  一天(00:00-24:00)内相同的客户端访问同一个网站只计一次UV
  
  cookie:标识用户主机身份信息      

 

架构之nginx

1. web服务软件种类介绍

# 1.1 常用来提供静态Web服务的软件有如下三种:
    # Apache:  
    这是中小型Web服务的主流,Web服务器中的老大哥。
    
    # Nginx:   
    大型网站Web服务的主流,曾经Web服务器中的初生牛犊,现已长大。
    Nginx的分支Tengine(http://tengine.taobao.org/)目前也在飞速发展。
    
    # Lighttpd:
    这是一个不温不火的优秀Web软件,社区不活跃,静态解析效率很高。
    在Nginx流行前,它是大并发静态业务的首选,国内百度贴吧、豆瓣等众多网站都有Lighttpd奋斗的身影。

# 1.2 常用来提供动态服务的软件
    # PHP(FastCGI):
    大中小型网站都会使用,动态网页语言PHP程序的解析容器。
    它可配合Apache解析动态程序,不过,这里的PHP不是FastCGI守护进程模式,而是mod_php5.so(module)。
    也可配合Nginx解析动态程序,此时的PHP常用FastCGI守护进程模式提供服务。
    
    # Tomcat:
    中小企业动态Web服务主流,互联网Java容器主流(如jsp、do)。
    
    # Resin:
    大型动态Web服务主流,互联网Java容器主流(如jsp、do)。

2. nginx软件服务介绍

如果你使用过Apache软件,那么很快就会熟悉Nginx软件,与Apache软件类似,
Nginx(“engine x”)是一个开源的,支持高性能、高并发的WWW服务器和代理服务软件。
Nginx可以运行在UNIX、Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中

3. nginx软件特征介绍

· 支持高并发:能支持几万并发连接(特别是静态小文件业务环境)
· 资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB
· 支持异步网络I/O事件模型epoll(Linux 2.6+); apache(select模型)

4. nginx软件功能介绍

1)作为Web服务软件(处理用户访问静态请求)
2)反向代理或负载均衡服务
3)前端业务数据缓存服务

5. nginx软件模型特点说明

apache与nginx软件对比说明???
# apache使用select模型
# nginx使用epoll模型
举例说明:宿舍管理员
select模型版管理员  会一个一个房间查询人员
epoll模型版管理员   会进行检索后,直接找到需要找的人

6. nginx软件编译安装

# 第一个步:软件依赖包安装
pcre-devel:   perl语言正则表达式兼容软件包
openssl-devel:使系统支持https方式访问
[root@web01 ~]# yum install -y pcre-devel openssl-devel

# 第二个步:创建一个管理nginx进程的虚拟用户
[root@web01 ~]# useradd www -s /sbin/nologin -M

# 第三个步:下载并解压nginx软件
[root@web01 tools]# pwd
/server/tools
[root@web01 tools]# wget http://nginx.org/download/nginx-1.12.2.tar.gz  # 下载到 /server/tools 目录下
...
[root@web01 tools]# tar xf nginx-1.12.2.tar.gz 

# 第四个步:进行软件编译安装
# 软件编译安装三部曲:
# ①. 编译配置
    # 参数:
    --prefix=PATH     指定软件安装在什么目录下
    --user=USER       指定软件worker进程管理用户(利用www虚拟用户管理worker进程)
    --group=GROUP     指定软件worker进程管理用户组
    --with-http_ssl_module           使nginx程序可以支持https访问功能
    --with-http_stub_status_module     用于监控用户访问nginx服务情况    
    
    # 命令:
    [root@web01 nginx-1.12.2]# ./configure --prefix=/application/nginx-12.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
# ②. 编译过程
    [root@web01 nginx-1.12.2]# make
# ③. 编译安装
    [root@web01 nginx-1.12.2]# make install
    
# 第五个步:为nginx程序软件创建链接目录
[root@web01 nginx-12.2]# ln -s /application/nginx-12.2/ /application/nginx

# 第六个步:启动nginx程序服务
[root@web01 application]# /application/nginx/sbin/nginx
[root@web01 application]# ps -ef |grep nginx
root       8046      1  0 01:25 ?        00:00:00 nginx: master process /application/nginx/sbin/nginx
www        8047   8046  0 01:25 ?        00:00:00 nginx: worker process        
root       8049   2735  0 01:25 pts/0    00:00:00 grep --color=auto nginx
[root@web01 application]# 

 

おすすめ

転載: www.cnblogs.com/neozheng/p/10959724.html