nginx反向代理配置详解

Nginx简介及配置文件详解

前提是你 提交于 2019-12-24 01:10:12
http://blog.csdn.net/hzsunshine/article/details/63687054 一 Nginx简介 Nginx是一款开源代码的 高性能HTTP服务器 和 反向代理服务器 ,同时支持 IMAP/POP3/SMTP代理服务 1.Nginx工作原理 Nginx由 内核 和 模块 组成,完成工作是通过查找配置文件将客户端请求映射到一个location block(location是用于URL匹配的命令),location配置的命令会启动不同模块完成工作。 Nginx模块分为核心模块,基础模块和第三方模块。 核心模块:HTTP模块、EVENT模块(事件)、MAIL模块。 基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块、HTTP Rewrite模块。 第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块。 2.性能优势 web服务器 ,处理静态文件、索引文件以及自动索引效率高。 代理服务器,快速高效 反向代理 ,提升网站性能。 负载均衡器,内部支持Rails和PHP,也可支持HTTP代理服务器,对外进行服务。同时 支持简单容错 和利用 算法进行负载均衡 。 性能方面,Nginx专门为性能设计,实现注重效率。采用Poll模型,可以支持更多的并发连接

Nginx配置文件nginx.conf中文详解

时光毁灭记忆、已成空白 提交于 2019-12-22 10:09:42
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /usr/local/nginx/logs/error.log info; #进程pid文件 pid /usr/local/nginx/logs/nginx.pid; #指定进程可以打开的最大描述符:数目 #工作模式与连接数上限 #这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 #现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。 #这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。 worker_rlimit_nofile 65535; events { #参考事件模型,use [

Nginx配置详解

╄→尐↘猪︶ㄣ 提交于 2019-12-21 14:50:25
序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。 Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。 牛逼吹的差不多啦,如果你还不过瘾,你可以百度百科或者一些书上找到这样的夸耀,比比皆是。 Nginx常用功能 1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。 这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。 Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。 2、负载均衡

Nginx代理功能与负载均衡详解

蓝咒 提交于 2019-12-21 14:20:50
序言 Nginx的代理功能与负载均衡功能是最常被用到的,关于nginx的基本语法常识与配置已在上篇文章中有说明,这篇就开门见山,先描述一些关于代理功能的配置,再说明负载均衡详细。 Nginx代理服务的配置说明 1、上一篇中我们在http模块中有下面的配置,当代理遇到状态码为404时,我们把404页面导向百度。 error_page 404 https://www.baidu.com; #错误页 然而这个配置,细心的朋友可以发现他并没有起作用。 如果我们想让他起作用,我们必须配合着下面的配置一起使用 proxy_intercept_errors on; #如果被代理服务器返回的状态码为400或者大于400,设置的error_page配置起作用。默认为off。 2、如果我们的代理只允许接受get,post请求方法的一种 proxy_method get; #支持客户端的请求方法。post/get; 3、设置支持的http协议版本 proxy_http_version 1.0 ; #Nginx服务器提供代理服务的http协议版本1.0,1.1,默认设置为1.0版本 4、如果你的nginx服务器给2台web服务器做代理,负载均衡算法采用轮询,那么当你的一台机器web程序iis关闭,也就是说web不能访问,那么nginx服务器分发请求还是会给这台不能访问的web服务器

nginx的access.log文件详解

本小妞迷上赌 提交于 2019-12-21 03:52:04
事实证明,日志文件真的是很重要很重要的。能够帮助我们快速的定位问题,并且知道用户访问的状态,浏览器,Ip,接口地址等,简直可怕。。 一、nginx的access.log (1)对博主而言,日志文件存放在/usr/local/var/log/nginx 下,直接使用 tail -f命令即可查看access日志。 (2)access.log具体每项代表的意思 参数 说明 示例 $remote_addr 客户端地址 211.28.65.253 $remote_user 客户端用户名称 -- $time_local 访问时间和时区 18/Jul/2012:17:00:01 +0800 $request 请求的URI和HTTP协议 "GET /article-10000.html HTTP/1.1" $http_host 请求地址,即浏览器中你输入的地址(IP或域名) www.it300.com 192.168.100.100 $status HTTP请求状态 200 $upstream_status upstream状态 200 $body_bytes_sent 发送给客户端文件内容大小 1547 $http_referer url跳转来源 https://www.baidu.com/ $http_user_agent 用户终端浏览器等信息 "Mozilla/4.0 (compatible

Nginx快速安装

跟風遠走 提交于 2019-12-21 01:45:07
nginx nginx安装 安装编译需要的软件 yum install -y gcc gcc-c++ 安装Nginx依赖 yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel 创建Nginx用户 useradd -s /bin/false -M nginx 下载Nginx源码 wget http://nginx.org/download/nginx-1.12.0.tar.gz tar -zxvf nginx-1.12.0.tar.gz Nginx 编译安装 # 生成make文件 ./configure --user = nginx --group = nginx \ --prefix = /etc/nginx-1.12.0 \ --with-http_v2_module \ --with-http_ssl_module \ --with-http_sub_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre # 编译并安装 make && make install ## 添加软连接 ln -s /etc/nginx-1.12.0/ /etc/nginx ## 添加环境变量 ln

Nginx学习记录-3 配置文件Nginx.conf《Nginx高性能Web服务器详解》笔记

只愿长相守 提交于 2019-12-18 15:37:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 参考 《Nginx高性能Web服务器详解》 第二章:配置文件介绍,基础配置指令介绍。 第三章:模块化架构介绍。 第四章:比较高级的配置指令 第五章:Gzip压缩功能的配置 第六章:Rewrite功能的配置 第七章:正向代理、反向代理、负载均衡的配置 第八章:Web缓存功能的配置 第九章:邮件服务功能配置。 配置文件语法 1)Nginx配置文件中,每条指令配置都必须以分号结束。 2)“#”后边的内容是注释。 3)分块配置,常见的块由http块、server块、location块、upstream块、mail块等。一个块代表一个作用域,作用域存在嵌套。 默认配置文件 ### 全局块 开始 ### #配置运行Nginx服务器用户和用户组 #将此指令行注释掉,则所有用户都可以启动Nginx进程 #user nobody; #允许生成的worker process数 worker_processes 1; #配置错误日志的存放路径,及日志的级别(可选) #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #Nginx进程PID存放路径 #pid logs/nginx.pid; ###

nginx-配置文件详解

二次信任 提交于 2019-12-17 17:28:46
配置文件结构 全局配置(user、worker_processes、error_log、pid) events(网络连接相关,worker_connections) http(最重要的部分,大部分功能都放这里) server(虚拟主机相关) location(server里面) 全局配置项结构 https://coding.net/u/aminglinux/p/nginx/git/blob/master/3z/global.md events配置项结构 https://coding.net/u/aminglinux/p/nginx/git/blob/master/3z/events.md http配置项 https://coding.net/u/aminglinux/p/nginx/git/blob/master/3z/http.md server配置项 https://coding.net/u/aminglinux/p/nginx/git/blob/master/3z/server.md nginx.conf全局配置 user nobody; #定义运行nginx服务的用户,还可以加上组,如 user nobody nobody; worker_processes 1; #定义nginx子进程数量,即提供服务的进程数量,该数值建议和服务cpu核数保持一致。 #除了可以定义数字外

Nginx配置文件nginx.conf中文详解,供自己看

此生再无相见时 提交于 2019-12-16 17:23:58
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /usr/local/nginx/logs/error.log info; #进程pid文件 pid /usr/local/nginx/logs/nginx.pid; #指定进程可以打开的最大描述符:数目 #工作模式与连接数上限 #这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 #现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。 #这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。 worker_rlimit_nofile 65535; events { #参考事件模型,use [

Nginx配置文件详解

独自空忆成欢 提交于 2019-12-15 01:56:14
Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。 ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /usr/local/nginx/logs/error.log info; #进程pid文件 pid /usr/local/nginx/logs/nginx.pid; #指定进程可以打开的最大描述符:数目 #工作模式与连接数上限 #这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 #现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。 #这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了