Nginx配置:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
(创建页面,内容为“Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(Рамблер)开发的。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。 === 反向代理 === 正向代理:局域网中的客户端通过代理服务器访…”)
 
无编辑摘要
第1行: 第1行:
Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(Рамблер)开发的。
Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫([[wikipedia:Igor_Sysoev|Igor Sysoev]])2002年在俄罗斯访问量第二的 Rambler.ru 站点(Рамблер)时开发的。


其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
源代码以类BSD许可证的形式发布,因它的高并发、稳定性、低系统资源占用、丰富的功能集、简单的配置文件而闻名。


=== 反向代理 ===
=== 反向代理 ===
正向代理:局域网中的客户端通过代理服务器访问Internet


反向代理:客户端将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端。反向代理服务器可以隐藏了真实服务器 IP地址
* 正向代理:局域网中的客户端通过代理服务器访问Internet
* 反向代理:客户端将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端。反向代理服务器可以隐藏了真实服务器 IP地址


=== 配置反向代理 ===
正向代理代理客户端,反向代理代理服务器。
Nginx 默认的配置文件是在安装目录下的 conf 目录下,修改过 nginx.conf 配置文件,需要重启Nginx服务。
 
=== 配置文件 ===
Nginx 默认的配置文件是在安装目录的 conf 目录下,修改过 nginx.conf 配置文件,需要重启Nginx服务。


nginx.conf 配置文件分为三部分:
nginx.conf 配置文件分为三部分:
第30行: 第32行:
这部分是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。需要注意的是:http 块也可以包括 http 全局块、server 块。下面的反向代理、动静分离、负载均衡都是在这部分中配置。
这部分是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。需要注意的是:http 块也可以包括 http 全局块、server 块。下面的反向代理、动静分离、负载均衡都是在这部分中配置。


http 全局块:http 全局块配置的指令包括:文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等
* http 全局块:http 全局块配置的指令包括:文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等
* server 块:这块和虚拟主机有密切关系,从用户角度看,虚拟主机和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本
 
每个http块可以包括多个 server 块,而每个server 块就相当于一个虚拟主机。而每个 server 块也分为全局server块,以及可以同时包含多个 locaton 块。
 
=== 反向代理配置 ===


server 块:这块和虚拟主机有密切关系,从用户角度看,虚拟主机和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本
==== 端口隐藏 ====
访问 <nowiki>http://www.abc.tk,实际访问</nowiki> <nowiki>http://127.0.0.1:8080</nowiki>
 
    server {
 
        listen       80;
 
        server_name  www.abc.tk;
 
        location / {
 
            proxy_pass <nowiki>http://127.0.0.1:8080</nowiki>;
 
            index  index.html index.htm index.jsp;
 
        }
 
    }


每个http块可以包括多个 server 块,而每个server 块就相当于一个虚拟主机。而每个 server 块也分为全局server块,以及可以同时包含多个 locaton 块。
[[分类:Develop]]
[[分类:Develop]]
[[分类:Platform]]
[[分类:Platform]]
[[分类:Web]]
[[分类:Web]]

2023年1月16日 (一) 13:44的版本

Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫(Igor Sysoev)2002年在俄罗斯访问量第二的 Rambler.ru 站点(Рамблер)时开发的。

源代码以类BSD许可证的形式发布,因它的高并发、稳定性、低系统资源占用、丰富的功能集、简单的配置文件而闻名。

反向代理

  • 正向代理:局域网中的客户端通过代理服务器访问Internet
  • 反向代理:客户端将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端。反向代理服务器可以隐藏了真实服务器 IP地址

正向代理代理客户端,反向代理代理服务器。

配置文件

Nginx 默认的配置文件是在安装目录的 conf 目录下,修改过 nginx.conf 配置文件,需要重启Nginx服务。

nginx.conf 配置文件分为三部分:

全局块

从配置文件开始到 events 块之间的内容,主要会设置一些影响 Nginx 服务器整体运行的配置指令。主要包括:配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。如:

worker_processes    8;        # 并发设置

events 块

events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括:是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 work process 可以同时支持的最大连接数等。如:

events {

   process          1024;     # 最大连接数

}

http 块

这部分是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。需要注意的是:http 块也可以包括 http 全局块、server 块。下面的反向代理、动静分离、负载均衡都是在这部分中配置。

  • http 全局块:http 全局块配置的指令包括:文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等
  • server 块:这块和虚拟主机有密切关系,从用户角度看,虚拟主机和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本

每个http块可以包括多个 server 块,而每个server 块就相当于一个虚拟主机。而每个 server 块也分为全局server块,以及可以同时包含多个 locaton 块。

反向代理配置

端口隐藏

访问 http://www.abc.tk,实际访问 http://127.0.0.1:8080

    server {

        listen       80;

        server_name  www.abc.tk;

        location / {

            proxy_pass http://127.0.0.1:8080;

            index  index.html index.htm index.jsp;

        }

    }