nginx配置文件主要分为六个区域:main section、events section、http section、sever section、location section、upstream section。

以下为Nginx的主要配置

#main module配置

use nobody;  #设置运行用户

worker_processes 1;    #设置启动进程,通常设置成cpu数量相当

error_log  logs/error.log;  #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

pid  logs/nginx.pid;    #进程文件

#event module配置

events{

  use   epoll;        #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于Linux2.6以上内核,可以大大提高nginx的性能

  worker_connections 1024   #单个worker process进程最大并发连接数

}

#http module配置

http{

include  mine.types;     #设置mime类型

default_type  application/octet-stream;

access_log  logs/access.log;   #设置访问日志

sendfile on;    #表示调用sendfile函数输出文件,对于普通应用必须设置为on,若用来进行下载等高IO负荷的应用则设置为off,

平衡以平衡磁盘与网络I/O处理速度,降低系统的uptime.

Keepalive_timeout 65;  #设置连接超时65s

gzip on;    #开启gzip压缩输出

gzip_types      text/plain application/x-javascript text/css application/xml;  #压缩类型,默认包含text/html

  #server module配置

#做为服务器时虚拟主机相关配置

Server{

listen  80;    #监听端口

server_name www.xxx.com;  #主机名

access_log logs/xxx.com.access.log;  #此虚拟主机访问日志

#设置默认请求

location ~ {

root  /wwwroot;  #定义站点根目录地址

index  index.php  index index.aspx  index.html  #站点默认文档名

}

#定义错误提示页面

error_page  400  /400.html;

error_page  500 502 503  /50x.html;

}

#做为反向代理服务器时,且实现负载均衡配置

#负载均衡配置,其中weight是权重,至越大,被分配的几率越大

#upstream module配置

upstream backserver {

#说明:若配置为以下方式,一定要保证网站可以通过IP地址方式能正常访问,如 http://192.168.1.10/

server 192.168.1.10:80 weight=1;

server 192.168.1.11:80 weight=2;

server 192.168.1.12:80 weight=2;

}

#代理服务器配置

Server{

listen  80;    #监听端口

  server_name www.xxx.com;  #主机名

  access_log logs/xxx.com.access.log;  #此虚拟主机访问日志

  #设置默认请求

  location ~ {

      proxy_pass        backserver http://backserver;
               
       proxy_set_header   Host      
      $host;
               
       proxy_set_header   X-Real-IP    
   $remote_addr;
               
       proxy_set_header   X-Forwarded-For
 $proxy_add_x_forwarded_for;

}

}

在浏览器中访问www.xxx.com时,Nginx会根据upstream中的服务列表进行再次请求,并将最终的数据返回给浏览器。

Nginx反向代理及简单负载均衡配置的更多相关文章

  1. Nginx反向代理实现Tomcat负载均衡

    这篇短文主要介绍Tomcat的集群和用Nginx反向代理实现Tomcat负载均衡. 1.首先需要对一些知识点进行扫盲(对自己进行扫盲,囧): 集群(Cluster) 简单来说就是用N台服务器构成一个松 ...

  2. Nginx反向代理 实现Web负载均衡

    实现负载均衡的方式有很多种,DNS.反向代理.LVS负载均衡器(软件实现).F5(负载均衡器,硬件,非常昂贵)这里我们只提到基于DNS,以及反向代理的方式来实现负载均衡Web服务       DNS服 ...

  3. nginx 反向代理 和lvs负载均衡

    nginx反向代理:用户请求nginx代理服务器然后代理服务器将用户请求转为服务器再由nginx代理服务器将服务器的响应反应给用户. lvs负载均衡:用户请求nginx代理服务器然后代理服务器将用户请 ...

  4. nginx的安装及简单负载均衡配置

    Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性.本人目前所在公司也使用nginx,主要用来做负载均衡服务器.同时也可以作为邮件代理服务器. 1. nginx的安装.本 ...

  5. nginx作反向代理,实现负载均衡

    nginx作反向代理,实现负载均衡按正常的方法安装好 ngixn,方法可参考http://www.cnblogs.com/lin3615/p/4376224.html其中作了反向代理的服务器的配置如下 ...

  6. Nginx+Tomcat多实例及负载均衡配置

    Nginx+Tomcat多实例及负载均衡配置 采用nginx的反向代理负载均衡功能,配合后端的tomcat多实例来实现tomcat WEB服务的负载均衡 01 安装nginx服务 安装所需的pcre库 ...

  7. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  8. nginx 反向代理 与 Apache backend的配置联合配置

    nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1.  设置域名, 子域名映射到指定服务器ip ...

  9. Nginx 反向代理工作原理简介与配置详解

    Nginx反向代理工作原理简介与配置详解   by:授客  QQ:1033553122   测试环境 CentOS 6.5-x86_64 nginx-1.10.0 下载地址:http://nginx. ...

随机推荐

  1. Eclipse MAT:浅堆 vs 保留堆

    来自:唐尤华 https://dzone.com/articles/eclipse-mat-shallow-heap-retained-heap 有没有想要搞清楚浅堆(Shallow Heap)和保留 ...

  2. 批处理REG学习

    首先在批处理操作注册表之前,应该了解REG命令的使用方式,详情请参阅一下网址: https://www.jb51.net/article/30078.htm 从以上链接内容我们可以详细了解使用reg的 ...

  3. Pupu(hdu3003)数论

    Pupu Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  4. Java - 线程优先级和守护线程

    Java多线程系列--“基础篇”10之 线程优先级和守护线程 概要 本章,会对守护线程和线程优先级进行介绍.涉及到的内容包括:1. 线程优先级的介绍2. 线程优先级的示例3. 守护线程的示例 转载请注 ...

  5. servlet 中处理 json 请求,并访问 service 类,返回处理结果

    前言:jar 包中的 servlet 必须可以处理前端发出的 ajax 请求,接收参数,并返回结果. github地址:yuleGH github 这里有个约定,url 地址是 .json 结尾的,如 ...

  6. 理解Java线程

    使用多线程的目的是更好的利用cpu资源,大部分多线程代码都可以用单线程来实现,但也有无法用单线程实现的,如:生产者消费者模型 下面对一些常用的概念进行区分: 多线程:指的是这个程序(一个进程)运行时产 ...

  7. python-外观模式

    源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 外观模式又叫做门面模式.在面向对象程序设计中,解耦是一种推崇的理念.但事实上由于 ...

  8. Console控制台的正确打开方式

    Console控制台的正确打开方式 console对象提供了访问浏览器调试模式的信息到控制台 -- Console对象 |-- assert() 如果第一个参数断言为false,则在控制台输出错误信息 ...

  9. BZOJ4373: 算术天才⑨与等差数列(线段树 hash?)

    题意 题目链接 Sol 正经做法不会,听lxl讲了一种很神奇的方法 我们考虑如果满足条件,那么需要具备什么条件 设mx为询问区间最大值,mn为询问区间最小值 mx - mn = (r - l) * k ...

  10. Dynamics 365Online 通过插件中的retrievemultiple消息来过滤产品视图

    本篇中要讲的是对产品视图基于某个条件进行过滤显示,而手段就是通过插件中的retrievemultiple消息,可能很多人都写过对它都不陌生. 先来看张插件注册的截图,插件的message是retrie ...