辽源天气预报-亚搏体育app手机版-亚搏体育app网站

前语

Nginx 现在几乎是许多大型网站的必用技能,咱们应该都知道 Nginx 被 F5 收买的大事件,章亦春也在专注保护 OpenResty 项目构建调和家乡,不管你挑选 Nginx 仍是 OpenResty,都需求对 Nginx 有一个比较全面的了解,日后才干做到事半功倍。本文以开发者必备的 Nginx 基础常识为主,在参阅文章中罗列了现在比较优异的 Nginx 和 OpenResty 参阅教程,期望对咱们有协助。


Nginx 基础常识标签17

Nginx 是什么?

Nginx 是一个 web 服务器,首要处理客户端和服务器的恳求分发。

特色和优势

  1. 高并发
  2. 热布置
  3. 低功耗
  4. 热布置

运用和扩展

开源免费的 Nginx 与商业版 Nginx Plus,与之对应的是免费 OpenResty 与商业版 OpenResty

  • 开源版 nginx.org
  • 商业版 NGINX Plus
  • 阿里巴巴 Tengine
  • 开源版 OpenResty
  • 商业版 OpenResty

陶辉《深化了解 Nginx》作者在极客时刻上的讲标签10义 PDF 现已介绍的十分详细了,假如觉得课程不错能够挑选购买尽量少走弯路

极客时刻:nginx 中心常识 100 讲装备文件与代码共享

nginx 正向署理与反向署理

为了便于了解,首要先来了解一下一些基础常识,nginx 是一个高性能的反向署理服务器那么什么是反向署理呢?

署理是在服务器和客户端之间假定的一层服务器,署理将接纳客户端的恳求并将它转发给服务器,然后将服务端的呼应转发给客户端。

不管是正向署理仍是反向署理,完成的都是上面的功用。

假如你对 OSI 七层模型与 TCP/IP 四层模型不是很熟悉能够再回忆下

正向署理

正向署理(forward)意思是一个坐落客户端和原始服务器 (origin server) 之间的服务器,为了从原始服务器取得内容,客户端向署理发送一个恳求并指定方针 (原始服务器),然后署理向原始服务器转交恳求并将取得的内容回来给客户端。

正向署理是为咱们服务的,即为客户端服务的,客户端能够依据正向署理拜访到它本身无法拜访到的服务器资源。

正向署理对咱们是通明的,对服务端对错通明的,即服务端并不知道自己收到的是来自署理的拜访仍是来自实在客户端的拜访。

反向署理

反向署理(Reverse Proxy)方法是指以署理服务器来承受 internet 上的衔接恳求,然后将恳求转发给内部网络上的服务器,并将从服务器上得到的成果回来给 internet 上恳求衔接的客户端,此刻署理服务器对外就表现为一个反向署理服务器。

反向署理是为服务端服务的,反向署理能够帮辽源天气预报-亚搏体育app手机版-亚搏体育app网站助服务器接纳来自客户端的恳求,协助服务器做恳求转发,负载均衡等。

反向署理对服务端是通明的,对咱们对错通明的,即咱们并不知道自己拜访的是署理服务器,而服务器知道反向署理在为他服务。

nginx 根本装备

装置 ng辽源天气预报-亚搏体育app手机版-亚搏体育app网站inx 时一般需求编译自己需求的模块,能够运用 rpmbuild 制造 Nginx 的 RPM 包

main # 大局装备

events { # nginx作业形式装备
}

http { # http设置
....

server { # 服务器主机装备
....
location { # 路由装备
....
}

location path {
....
}

location oth标签17erpath {
....
}
}

server {
....

location {
....
}
}

upstream name { # 负载均衡装备
....
}
}

假如想要生成 nginx 标准装备,能够参阅 nginxconfig.io

下面是 nginx 一些装备中常用的内置大局变量,你能够在装备的任何方位运用辽源天气预报-亚搏体育app手机版-亚搏体育app网站它们。

变量名 功用 $host 恳求信息中的 Host,假如恳求中没有 Host 行,则等于设置的服务器标签1名 $request_method 客户端恳求类型,如 GET、POST $remote_addr 客户端的 IP 地址 $args 标签1恳求中的参数 $content_length 恳求头中的 Content-length 字段 $http_user_agent 客户端 agent 信息 $http_cookie 客户端 cookie 信息 $remote_addr 客户端的 IP 地址 $remote_port 客户端的端口 $server_protoco辽源天气预报-亚搏体育app手机版-亚搏体育app网站l 恳求运用的协议,如 HTTP/1.0、HTTP/1.1\ $server_addr 服务器地址 $server_name 服务器称号 $server_port 服务器的端口号

nginx 负载均衡

Upstream 指定后端辽源天气预报-亚搏体育app手机版-亚搏体育app网站服务器地址列表,在 server 中阻拦呼应恳求,并将恳求转发到 Upstream 中装备的服务器列表。

upstream bala标签10nceServer {
server 10.1.22.33:12345;
server 10.1.22.34:12345;
server 10.1.22.35:12345;
}

server {
server_name fe.server.com;
listen 80;
location /api {
proxy_pass http://balanceServer;
}
}

上面的装备仅仅指定了 nginx 需求转发的服务端列表,并没有指定分配战略。

默许情况下选用的是轮询战略,将一切客户端恳求轮询分配给服务端。这种战略是能够正常作业的,可是假如其间某一台服务器压力太大,呈现推迟,会影响一切分配在这台服务器下的用户。

nginx 常用命令

``` bash

# 快速封闭Nginx,或许不保存相关信息,并敏捷停止web服务

nginx -s stop

# 平稳封闭Nginx,保存相关信息,有组织的完毕web服务

nginx -s quit

# 因改变了Nginx相关装备,需求从头加载装备而重载

nginx -s reload

# 从头翻开日志文件

nginx -s reopen

# 为 Nginx 指定一个装备文辽源天气预报-亚搏体育app手机版-亚搏体育app网站件,来替代缺省的

nginx -c标签20 filename

# 不运转,而仅仅测验装备文件。nginx 将查看装备文件的语法的正确性,并测验翻开装备文件中所引用到的文件

nginx -t

# 显现 nginx 的版别

ng标签5inx -v

# 显现 nginx 的版别,编译器版别和装备参数

nginx -V

# 格局换显现 nginx 装备参数

2>&1 nginx -V | xargs -n1

2>&1 nginx -V | xargs -n1 | grep lua

```

参阅文章

以上内容仅仅 nginx 的冰山一角,我个人引荐咱们跟着官方文档或许相似极客时刻的教程学习,能够少走许多弯路

nginx documentation

前端开发者必备的 nginx 常识

百万并发下 Nginx 的优化之道

agentzh辽源天气预报-亚搏体育app手机版-亚搏体育app网站 的 Nginx 教程

OpenResty 最佳实践

以下为极客时刻专栏

Nginx 中心常识 100 讲

极客时刻:nginx 中心常识 100 讲装备文件与代码共享

Ope标签19nResty 从入门到实战

Write a Comment

电子邮件地址不会被公开。 必填项已用 *标注