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. iOS开源项目周报0428

    由OpenDigg 出品的iOS开源项目周报第十八期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Bouncy ...

  2. 从客户端(ASPxFormLayout1$txtRule="<YYYY><MM><DD><XXXX>")中检测到有潜在危险的 Request.Form 值

    在有文本框的值属于这种时<YYYY><MM><DD><XXXX>,会报这个错 在webconfig中加入 <httpRuntime request ...

  3. Docker的下载与安装

    一丶下载 1.win10之外的 Docker下载地址: https://www.docker.com/products/docker-toolbox 2.win10 Docker下载地址: https ...

  4. 撩课-Web大前端每天5道面试题-Day27

    1.浏览器缓存? 浏览器缓存分为强缓存和协商缓存.当客户端请求某个资源时,获取缓存的流程如下: 先根据这个资源的一些 http header 判断它是否命中强缓存, 如果命中,则直接从本地获取缓存资源 ...

  5. C++ 的那些坑 (Day 2)

    虚函数调用的例外 我们知道在通过基类的指针或者引用调用某个对象的函数时,如果这个对象是一个派生类而且该方法是一个虚方法那么一般情况下就会调用派生类的虚方法实现.这个过程是C++的多态.然而这之中有些例 ...

  6. python内置函数每日一学 -- any()

    any(iterable) 官方文档解释: Return True if any element of the iterable is true. If the iterable is empty, ...

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

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

  8. 设定linux为多用户模式

    1.显示系统已经安装的组件,和可以安装的组件: #yum grouplist 2.如果系统安装之初采用最小化安装,没有安装xwindow,那么先安装: #yum groupinstall " ...

  9. SQLServer 学习笔记之超详细基础SQL语句 Part 7

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 6------------------- 29 存储过程和触发器 存储过 ...

  10. 8.2,常用模块介绍:sys,os,time,random

    sys: 介绍:主要包含涉及python编译器与系统交互的函数. 常用函数: import sys print(sys.argv)#本文件名,已经运行该程序时的参数 #[如在命令窗口中python3 ...