Nginx 详解【重点】
1.1 nginx
简介
1.1.1 Nginx
介绍
Nginx
是高性能的 HTTP
和反向代理的web
服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50000 个并发连接数。
其特点是占有内存少,并发能力强,事实上nginx
的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx
网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
1.1.2 Nginx
作为 web
服务器
Nginx
可以作为静态页面的 web
服务器,同时还支持 CGI
协议的动态语言,比如 perl、php
等。但是不支持 java
。Java
程序只能通过与tomcat
配合完成。Nginx
专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50000 个并发连接数。
1.1.3 正向代理
Nginx
不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。
正向代理:如果把局域网外的Internet
想象成一个巨大的资源库,则局域网中的客户端要访问 Internet
,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
- 通过代理服务器来访问服务器的过程就叫正向代理
- 需要在客户端配置代理服务器进行指定网站访问
1.1.4 反向代理
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问。
我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
1.1. 5 负载均衡
增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的 情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。
这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的,成本也低。但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂度增加,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易造成服务器直接崩溃。很明显这是由于服务器性能的瓶颈造成的问题,那么如何解决这种情况呢?
我们首先想到的可能是升级服务器的配置,比如提高 CPU
执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道摩尔定律的日益失效,硬件的性能提升已经不能 满足日益提升的需求了。最明显的一个例子,天猫双十一当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的顶级物理配置,都是不能够满足需求的。那么怎么办呢?上面的分析我们去掉了增加服务器物理配置来解决问题的办法,也就是说纵向解决问题的办法行不通了,那么横向增加服务器的数量呢?这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
1.1.6 动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
1.2 Nginx
的安装(Linux:centos为例)
nginx
安装时,用到的包,我都准备好啦,方便使用:http://nginx.org/download/
1.2.1 准备工作
打开虚拟机,使用
finallshell
链接Linux
操作系统到
nginx
官网下载软件
先安装其依赖软件,最后安装
nginx
。依赖工具:
pcre-8.3.7.tar.gz, openssl-1.0.1t.tar.gz, zlib-1.2.8.tar.gz, nginx-1.11.1.tar.gz
。
1.2.2 开始安装
- 都有两种方式,一种直接下载,第二种使用解压包方式。这里大多使用解压包方式。
- 我的安装路径:
/usr/feng/
1.2.2.1 安装pcre
方式一:wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
方拾二:上传源码压缩包,解压、编译、安装 三部曲
1)解压文件, 进入pcre
目录
2)./configure
完成后
3)执行命令: make && make install
1.2.2.2 安装 openssl
1、下载OpenSSL
的地址:
http://distfiles.macports.org/openssl/
1)解压文件, 回到 openssl
目录下,
2)./configure
完成后,
3)执行命令: make && make install
2、安装 zlib
1)解压文件, 回到 zlib
目录下,
2)./configure
完成后,
3)执行命令: make && make install
3、安装 Nginx
1)解压文件, 回到 Nginx
目录下,
2)./configure
完成后,
3)执行命令: make && make install
1.2.2.3 运行Nginx
安装完nginx
后,会在 路径/usr/local
下自动生成 nginx
文件夹。这是自动生成的。
进入这个目录:cd /usr/local/nginx
目录内容如下:
- 进入
sbin
文件夹,里面有两个文件:nginx
和nginx.old
。 - 执行命令:
./nginx
即可执行 - 测试启动:
ps -ef | grep nginx
已经启动。
- 查看
nginx
默认端口(默认为80
),使用网页的形式测试(像Tomcat
一样) - 进入目录查看端口:
cd /usr/local/nginx/conf
下的nginx.conf
文件。这个文件也是nginx
的配置文件。vim
下:
如下所示
- 输入
IP:80
,则显示:
1.2.2.4 防火墙问题
在 windows
系统中访问 linux
中 nginx
,默认不能访问的,因为防火墙问题 (1)关闭防火墙 (2)开放访问的端口号,80
端口
查看开放的端口号
firewall-cmd --list-all
设置开放的端口号
firewall-cmd --add-service=http –permanent
firewall-cmd --add-port=80/tcp --permanent
重启防火墙
firewall-cmd –reload
1.3 Nginx
的常用命令和配置文件
1.3.1 Nginx
常用命令
1.3.1.1 使用nginx
操作命令前提
使用nginx
操作命令前提:必须进入到nginx
的自动生成目录的下/sbin
文件夹下。
nginx
有两个目录:
第一个:安装目录,我放在:
/usr/feng/
第二个:自动生成目录:
/usr/local/nginx/
1.3.1.2 查看 nginx
的版本号
./nginx -v
1.3.1.3 启动 nginx
./nginx
1.3.1.4 关闭nginx
./nginx -s stop
1.3.1.5 重新加载 nginx
在目录:/usr/local/nginx/sbin
下执行命令,不需要重启服务器,自动编译。
./nginx -s reload
1.3.2 Nginx
配置文件
1.3.2.1 配置文件位置
/usr/local/nginx/conf/nginx.conf
1.3.2.2 nginx
的组成部分
配置文件中有很多#
, 开头的表示注释内容,我们去掉所有以 #
开头的段落,精简之后的 内容如下:
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
1.3.2.3 nginx
配置文件有三部分组成
第一部分:全局块
从配置文件开始到 events
块之间的内容,主要会设置一些影响nginx
服务器整体运行的配置指令,主要包括配置运行 Nginx
服务器的用户(组)、允许生成的 worker process
数,进程PID
存放路径、日志存放路径和类型以及配置文件的引入等。
比如上面第一行配置的:
worker_processes 1;
这是 Nginx
服务器并发处理服务的关键配置,worker_processes
值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约。
第二部分:events
块
比如上面的配置:
events {worker_connections 1024;
}
events
块涉及的指令主要影响 Nginx
服务器与用户的网络连接,常用的设置包括是否开启对多 work process
下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process
可以同时支持的最大连接数等。
上述例子就表示每个work process
支持的最大连接数为 1024,这部分的配置对 Nginx
的性能影响较大,在实际中应该灵活配置。
第三部分
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
这算是 Nginx
服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
需要注意的是:http
块也可以包括 http
全局块、server
块。
http全局块
http全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。server 块
这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了 节省互联网服务器硬件成本。
每个http
块可以包括多个server
块,而每个server
块就相当于一个虚拟主机。
而每个server
块也分为全局server
块,以及可以同时包含多个locaton
块。1、全局
server
块
最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP配置。
2、location
块
一个server
块可以配置多个location
块。
这块的主要作用是基于Nginx
服务器接收到的请求字符串(例如server_name/uri-string
),对虚拟主机名称 (也可以是IP
别名)之外的字符串(例如 前面的/uri-string
)进行匹配,对特定的请求进行处理。 地址定向、数据缓 存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
1.4 Nginx
反向代理 配置实例一
1.4.1 实现效果
打开浏览器,在浏览器地址栏输入地址 www.123.com
,跳转到liunx
系统 tomcat
主页 面中
1.4.2 准备工作
1、在liunx
系统安装 tomcat
,使用默认端口 8080
,我这里8080
被其他应用占用,所以我已修改端口为8081
。在conf
目录下的server.xml
配置文件中,如下,将port
改为 8081
,其实下面也有类似的Connector
标签,但是要看protocol
协议为HTTP/1.1
的标签修改即可。
<Connector port="8081" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
tomcat
安装文件放到liunx
系统中,解压。
Tomcat
的路径:/usr/feng/apach-tomcat/tomcat8081
下
进入tomcat
的 bin
目录中,./startup.sh
启动 tomcat
服务器。
2、对外开放访问的端口 (我这里不需要)
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd –reload
查看已经开放的端口号 firewall-cmd --list-all
3、在 windows
系统中通过浏览器访问tomcat
服务器
别忘了开启tomcat
,在bin
目录下,使用 命令:
./startup.sh
1.4.3 访问过程的分析
1.4.4 具体配置
1、第一步 在 windows
系统的 host
文件进行域名和 ip
对应关系的配置
添加内容在host
文件中
2、 第二步 在 nginx
进行请求转发的配置(反向代理配置)
1.4.5 最终测试
如上配置,我们监听 80
端口,访问域名为 www.123.com
,不加端口号时默认为 80
端口,故 访问该域名时会跳转到 127.0.0.1:8081
路径上。在浏览器端输入 www.123.com
结果如下:
1.5 Nginx
反向代理 配置实例二
1.5.1 实现效果
实现效果:使用 nginx
反向代理,根据访问的路径跳转到不同端口的服务中
nginx
监听端口为 9001
,
访问 http://127.0.0.1:9001/edu/
直接跳转到 127.0.0.1:8081
访问 http://127.0.0.1:9001/vod/
直接跳转到 127.0.0.1:8082
1.5.2 准备工作
1.5.2.1 第一步,两个tomcat
端口和测试页面
1、准备两个 tomcat
,一个 8081
端口,一个 8082
端口。
在/usr/feng/apach-tomcat/
下 新建tomcat8081
和tomcat8082
两个文件夹,将 Tomcat
安装包 分别上传到两个文件夹,进行解压缩安装,8081
的Tomcat
只改一个http
协议默认端口号 就行,直接启动即可。
这里需要改8082
的端口号,需要修改三个端口,只修改一个端口号的话,是启动不了的,我已经测试过了(如果只修改http
协议默认端口的话,8081
和8082
只会启动一个)。因为默认的都是8080
(没有的直接创建文件夹,好多都是刚建的,与上面的第一个示例示例有点改动)
tomcat8081
解压包,然后进入到/bin
下 ,使用命令./startup
启动tomcat8082
使用命令 编辑 文件 :/conf/server.xml
文件
vim server.xml
,修改后如下:
1、修改server
的默认端口,由默认8005->8091
2、修改http
协议的默认端口,由默认的8080->8082
3、修改默认ajp
协议的默认端口,由默认的8009->9001
准备好测试的页面,写一个
a.html
页面
tomcat8081
的tomcat
,放到目录/webapp/vod
下,内容:<h1>fengfanchen-nginx-8081!!!</h1>
tomcat8082
的tomcat
,放到目录/webapp/edu
下,内容:<h1>fengfanchen-nginx-8082!!!</h1>
测试页面
1.5.2.2 第二步,修改 nginx
的配置文件
修改nginx
的配置文件 在 http
块中添加 server{}
修改其中注释的就行。
修改成功后
- 开发的端口:
nginx
监听端口:8001
,tomcat8081
端口:8081
,tomcat8082
端口:8082
- 测试结果
location
指令说明
该指令用于匹配URL
,语法如下:
1、=
:用于不含正则表达式的uri
前,要求请求字符串与uri
严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。
2、~
:用于表示uri
包含正则表达式,并且区分大小写。
3、~*
:用于表示uri
包含正则表达式,并且不区分大小写。
4、^~
:用于不含正则表达式的uri
前,要求Nginx
服务器找到标识uri
和请求字 符串匹配度最高的location
后,立即使用此location
处理请求,而不再使用location
块中的正则uri
和请求字符串做匹配。
注意:如果 uri
包含正则表达式,则必须要有 ~
或者 ~*
标识。
1.6 Nginx
负载均衡 配置实例
1.6.1 实现效果
浏览器地址栏输入地址 http://208.208.128.122/edu/a.html
,负载均衡效果,平均 8081
和 8082
端口中
1.6.2 准备工作
1、准备两台 tomcat
服务器
- 准备两台
tomcat
服务器,一台8081
,一台8082
- 上面的反向代理第二个实例中已经配置成功了。但是需要添加点东西。
2、修改一处
- 在两台
tomcat
里面webapps
目录中,创建名称是edu
文件夹,在edu
文件夹中创建 页面a.html
,用于测试。 - 由于第二个实例中,
8082
中有了edu
的文件夹,所以只在8081
文件夹下创建即可。
然后使用在vod
文件下使用命令:
cp a.html ../edu/
即可完成,
查看命令
cd ../edu/ # 进入到 edu 目录下
cat a.html #查看内容
3、测试页面
测试URL
http://208.208.128.122:8081/edu/a.html
http://208.208.128.122:8082/edu/a.html
3、在 nginx
的配置文件中进行负载均衡的配置
修改了第一个示例的 配置
upstream myserver {server 208.208.128.122:8081;server 208.208.128.122:8082;}server {listen 80;server_name 208.208.128.122;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;proxy_pass http://myserver;#proxy_pass http://127.0.0.1:8081;index index.html index.htm;}
4、最终测试
测试url
http://208.208.128.122/edu/a.html
5、nginx
分配服务器策略
随着互联网信息的爆炸性增长,负载均衡(load balance)
已经不再是一个很陌生的话题, 顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应 足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品, 很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎, nginx
就是其中的一个,在linux
下有 Nginx
、LVS
、Haproxy
等等服务可以提供负载均衡服 务,而且Nginx
提供了几种分配方式(策略):
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
配置方式:
2、weight
weight
代表权重, 默认为 1
,权重越高被分配的客户端越多
upstream myserver {server 208.208.128.122:8081 weight=10; # 在这儿server 208.208.128.122:8082 weight=10;}server {listen 80;server_name 208.208.128.122;location / {root html;proxy_pass http://myserver;index index.html index.htm;}
3、ip_hash
ip_hash
每个请求按访问ip
的 hash
结果分配,这样每个访客固定访问一个后端服务器
upstream myserver {ip_hash; // 在这儿server 208.208.128.122:8081 ; server 208.208.128.122:8082 ;}server {listen 80;server_name 208.208.128.122;location / {root html;proxy_pass http://myserver;index index.html index.htm;}
4、fair
(第三方)
fair
(第三方),按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream myserver { server 208.208.128.122:8081 ; server 208.208.128.122:8082 ;fair; # 在这儿}server {listen 80;server_name 208.208.128.122;location / {root html;proxy_pass http://myserver;index index.html index.htm;}
1.7 Nginx 动静分离 配置实例
1.7.1 什么是动静分离
Nginx
动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和 静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx
处理静态页面,Tomcat
处理动态页面。动静分离从目前实现角度来讲大致分为两种:
- 一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;
- 另外一种方法就是动态跟静态文件混合在一起发布,通过
nginx
来分开。
通过location
指定不同的后缀名实现不同的请求转发。通过 expires
参数设置,可以使 浏览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires
定义:是给一个资 源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可, 所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件, 不建议使用 Expires
来缓存),我这里设置 3d
,表示在这 3
天之内访问这个 URL
,发送 一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码 304
,如果有修改,则直接从服务器重新下载,返回状态码 200
。
1.7.2 准备工作
1、在Linux
系统中准备 静态资源,用于进行访问。
www
文件夹中a.html
<h1>fengfanchen-test-html</h1>
image
中的01.jpg
具体配置
1、在nginx
配置文件中进行配置
1.7.3 最终测试
1、测试 image
http://208.208.128.122/image/
http://208.208.128.122/image/01.jpg
2、测试 www
http://208.208.128.122/www/a.html
1.8 Nginx
的高可用集群
1.8.1 什么是nginx
高可用
配置示例流程:
- 需要两台
nginx
服务器 - 需要
keepalived
- 需要虚拟
IP
1.8.2 配置高可用的准备工作
1、需要两台服务器 208.208.128.122
和 208.208.128.85
2、在两台服务器安装 nginx
(流程最上面有)
第二台服务器的默认端口 改为 9001
,运行并测试,如下:
3、在两台服务器安装 keepalived
1、安装:
第一种方式:命令安装
yum install keepalived -y
# 查看版本:
rpm -q -a keepalived
第二种方式:安装包方式(这里我使用这个)
将压缩包上传至:/usr/feng/
,命令如下:
cd /usr/feng/
tar -zxvf keepalived-2.0.18.tar.gz
cd keepalived-2.0.18
./configure
make && make install
2、配置文件
安装之后,在 etc
里面生成目录 keepalived
,有文件 keepalived.conf
。
这个就是主配置文件。
主从模式主要在这个文件里配置。
3、完成高可用配置(主从配置)
①修改 keepalived.conf
配置文件
修改/etc/keepalived/keepalivec.conf
配置文件
global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 208.208.128.122smtp_connect_timeout 30 router_id LVS_DEVEL
} vrrp_script chk_http_port { script "/usr/local/src/nginx_check.sh" interval 2 #(检测脚本执行的间隔) weight 2 } vrrp_instance VI_1 { state MASTER # 备份服务器上将 MASTER 改为 BACKUP interface ens192 //网卡 virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同 priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 208.208.128.50 // VRRP H 虚拟地址 }
}
②添加检测脚本
在/usr/local/src
添加检测脚本
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then/usr/local/nginx/sbin/nginxsleep 2if [ `ps -C nginx --no-header |wc -l` -eq 0 ];thenkillall keepalivedfi
fi
③开启nginx
和 keepalived
把两台服务器上 nginx
和 keepalived
启动 :
启动 nginx
:./nginx
启动 keepalived
:systemctl start keepalived.service
85服务一样。
1.8.3 最终测试
a)在浏览器地址栏输入 虚拟 ip
地址 192.168.17.50
b)把主服务器(192.168.17.129)nginx
和 keepalived
停止,再输入 192.168.17.50
1.9 Nginx
的原理
1.9.1 mater
和 worker
nginx
启动后,是由两个进程组成的。master
(管理者)和worker
(工作者)。- 一个
nginx
只有一个master
。但可以有多个worker
- 过来的请求由
master
管理,worker
进行争抢式的方式去获取请求。
2、master-workers
的机制的好处 - 首先,对于每个
worker
进程来说,独立的进程,不需要加锁,所以省掉了锁带来的开销, 同时在编程以及问题查找时,也会方便很多。 - 可以使用
nginx –s reload
热部署,利用nginx
进行热部署操作 - 其次,采用独立的进程,可以让互相之间不会 影响,一个进程退出后,其它进程还在工作,服务不会中断,
master
进程则很快启动新的worker
进程。当然,worker
进程的异常退出,肯定是程序有bug
了,异常退出,会导致当 前worker
上的所有请求失败,不过不会影响到所有请求,所以降低了风险。
3、设置多少个 worker
Nginx
同redis
类似都采用了 io
多路复用机制,每个 worker
都是一个独立的进程,但每个进 程里只有一个主线程,通过异步非阻塞的方式来处理请求, 即使是千上万个请求也不在话 下。每个 worker
的线程可以把一个cpu
的性能发挥到极致。所以`` worker 数和服务器的 cpu
数相等是最为适宜的。设少了会浪费 cpu
,设多了会造成 cpu
频繁切换上下文带来的损耗。
worker
数和服务器的cpu
数相等是最为适宜
4、连接数 worker_connection
第一个:发送请求,占用了 woker
的几个连接数?
- 答案:
2
或者4
个
第二个:nginx
有一个 master
,有四个 woker
,每个 woker
支持最大的连接数 1024
,支持的 最大并发数是多少?
- 普通的静态访问最大并发数是:
worker_connections * worker_processes /2
- 而如果是
HTTP
作 为反向代理来说,最大并发数量应该是worker_connections * worker_processes/4
。
这个值是表示每个worker
进程所能建立连接的最大值,所以,一个 nginx
能建立的最大连接 数,应该是 worker_connections * worker_processes
。当然,这里说的是最大连接数,对于 HTTP
请 求 本 地 资 源 来 说 , 能 够 支 持 的 最 大 并 发 数 量 是 worker_connections * worker_processes
,如果是支持 http1.1
的浏览器每次访问要占两个连接,所以普通的静态访 问最大并发数是: worker_connections * worker_processes /2
,而如果是 HTTP
作 为反向代 理来说,最大并发数量应该是 worker_connections * worker_processes/4
。因为作为反向代理服务器,每个并发会建立与客户端的连接和与后端服 务的连接,会占用两个连接。
参考链接:https://blog.csdn.net/qq_40036754/article/details/102463099
Nginx 详解【重点】相关推荐
- Nginx详解一(理论)
一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web服务请求过程 五.Linux I/O模型 六.Linux I/O模型具体说明 七.Linux I/O模型的具体实 ...
- 从零开始的Nginx详解(3)【Nginx-Https服务配置详解】
HTTP图片服务器及HTTPS 一.HTTP图片服务器 1.使用Nginx作为图片服务器 2.配置步骤 2.配置Nginx 3.测试 二.HTTPS详解 1.ssl简介: 2.HTTPS 三.Ngin ...
- 26.Nginx详解
文章目录 一 Web服务基础介绍: 1.1 互联网发展历程回顾: 1.2:web服务介绍: 1.2.1 Apace-早期的web服务端: 1.2.1.3:Apache event模型 1.2.2 Ng ...
- Nginx详解+身份验证+虚拟主机+反向代理负载均衡
一.差异对比 Apache Nginx 配置相对复杂 配置相对简单 原生支持动态和静态页面 支持静态页面 模块相对安全 高性能模块出产迅速.社区活跃 BUG相对较少,消耗资源较多 BUG相对较多,节省 ...
- ajax nginx 转发 sessionid_百度、京东、网易、腾讯、淘宝等大厂都在用的Web服务器Nginx详解
Nginx背景和概述 Nginx(发音同 engine x)是一款基于异步框架的轻量级/高性能由C语言的Web 服务器/反向代理服务器/缓存服务器/电子邮件(IMAP/POP3)代理服务器,并在一个B ...
- 从零开始的Nginx详解(2)【Nginx-HTTP服务器】
Nginx-HTTP服务器 一.HTTP服务器 1. 简介 二.虚拟主机配置 1.准备 2.配置虚拟主机 3.域名解析设置 4.测试 三.Nginx相关文章链接 演示环境: 系统版本:CentOS L ...
- 综合架构web服务之nginx详解
文章目录 nginx 服务配置详细介绍 关于作者 前言 一.nginx web 入门简介 1.1 什么是nginx 1.2 常见的网站服务 1.3 nginx 网站服务特点 1.4 网站页面访问原理 ...
- 运维笔记-nginx详解
目录 1.简介 2.正向代理与反向代理 3.nginx的安装部署(基于Centos-stream操作系统) 4.nginx配置文件详解 5.高效的Web服务器-nginx 5.1nginx服务器基本配 ...
- nginx详解及实战
Nginx 入门到精通 什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫 ...
- 从零开始的Nginx详解(4)【Nginx-反向代理】
Nginx-反向代理 一.代理简介 1.正常请求流程 2.正向代理 3.反向代理 二.反向代理配置 1.被代理服务器配置 2.代理服务器配置 3.测试 三.Nginx相关文章链接 演示环境: 系统版本 ...
最新文章
- php redis set集合操作,php对redis的set(集合)操作
- [精选]MySQL的各种锁(表锁,行锁,悲观锁,乐观锁,间隙锁,死锁)
- 跟我一起学Redis之看完这篇比常人多会三种类型实战(又搞了几个小时)
- 自学python好找工作么-学完Python好找工作吗?为什么有人学完找不到工作?
- 解决Mac osx AirPort: Link Down on en1. Reason 8 (Disassociated because station leaving)
- 成都程序员俱乐部通知
- k380没有验证码_罗技K380蓝牙键盘
- lbp7660cdn设置网络打印_canonlbp7660cdn驱动下载-佳能lbp7660cdn打印机驱动v21.52 官方版 - 极光下载站...
- 第8章 卷积神经网络
- 怎样开始买基金---我的基金购买体验[转]
- word把选择答案弄到题目里_将Word解答中的答案项批量填入题干
- [Azure - VNet] Azure网络带宽的性能测试
- 高清格式——720p/1080i/1080p,谁更清晰
- liferay-protal学习1-配置开发环境
- Ajax中的 “success” 与 “error ”回调函数何时调用 ?
- 爱无法用物理公式计算机,几条公式就能描述宇宙 但为何物理学无法告诉生命是什么?...
- 热点登陆打不开网页 服务器已关闭,手机登录路由器管理页面打不开怎么办?...
- matlab更换YAHEI CONSOLAS HYBRID字体
- vue 全局监听浏览器窗口关闭以及无痕模式场景提示
- unityar自动识别人脸_三款Unity插件带您玩转人脸识别与模拟