目录

简介

Nginx ("engine x") 是一款轻量级,高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。

传输层的负载均衡有LVS(Linux) 和 NLB(Windows)

常用命令

  • nginx -v // nginx 版本
  • start nginx // 启动nginx,不阻塞命令窗口
  • nginx -s stop | nginx -s quit // 快速停止 | 有序退出
  • nginx -s reload // 加载配置重新启动

功能

代理

server {
listen 8080; # 监听8080端口
resolver 114.114.114.114; # dns解析地址
location / {
proxy_pass $scheme://$host$request_uri; # 代理到哪个地址
proxy_set_header Host $http_host;
#allow 127.0.0.1; # 允许127.0.0.1地址访问
#deny all; # 禁止所有地址访问(allow位置在上面,所以127.0.0.1仍能访问)
}
}

反向代理

server {
listen 8081; # 监听8080端口
server_name localhost; # 虚拟hostName location / {
proxy_pass http://127.0.0.1:8081; # 反向代理到的服务器
}
}

集群

HTTP集群

upstream clusterName {
# 通过weight设置每台服务器分配请求站的权重,值越高分配的越多。
server 127.0.0.1:9000 weight=4;
server 127.0.0.1:8082 weight=1;
# ip_hash会计算ip对应hash值,然后分配到固定服务器
ip_hash;
} location / {
proxy_pass http://clusterName; # 反向代理到群集服务器
# 设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

TCP集群

  • 和http同级
stream {
server {
listen 1034;
proxy_pass app;
} upstream app {
server 192.168.0.111:5672;
server 192.168.0.112:5672;
}
}

重定向

location / {
rewrite ^/(.*)$ http://www.xx.com/$1 permanent;
}
  • flag

    • last – 基本上都用这个Flag。
    • break – 中止Rewirte,不在继续匹配
    • redirect – 返回临时重定向的HTTP状态302
    • permanent – 返回永久重定向的HTTP状态301

静态文件

location /^(.*) {
root html; # 根目录为html文件夹
index $1 index.html index.htm; # $1表示正则匹配第一项
}

绑定证书

# HTTPS server
#
server {
listen 443 ssl;
server_name localhost; ssl_certificate /nginx/server.cer; # 公钥(一般为公钥证书 + 中级证书)
ssl_certificate_key /nginx/server.key; # 私钥 ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
}

常见问题

  • 与IIS(80端口)冲突

    • 被System占用

      • 找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP下的Start修改其值为0,重启电脑即可
    • 被IIS占用
      • 停用IIS 80端口的网站
  • nginx群集

    • 如果nginx服务器挂了,那我们的站点就直接挂了,可以通过keepalived组件来搭建多台nginx服务提供服务。
  • error.log 错误日志:signal process started

    • 并非错误,只要执行-s reload就会发出

[Open Source] 负载均衡之Nginx的更多相关文章

  1. 动态负载均衡(Nginx+Consul+UpSync)

    Http动态负载均衡 什么是动态负载均衡 传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件, 因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upst ...

  2. 反向代理负载均衡之nginx

    一.集群 1.1 什么是集群 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性 ...

  3. 大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)

    课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普 ...

  4. 分布式存储之MogileFS基于Nginx实现负载均衡(Nginx+MogileFS)

    MogileFS分布式文件系统特点: 1.具有raid的性能 2.不存在单点故障 3.简单的命名空间: 每个文件对应一个key:用于domain定义名称空间 4.不共享任何数据 5.传输中立,无特殊协 ...

  5. 终于等到你---订餐系统之负载均衡(nginx+memcached+ftp上传图片+iis)

    又见毕业 对面工商大学的毕业生叕在拍毕业照了,一个个脸上都挂满了笑容,也许是满意自己四年的修行,也许是期待步入繁华的社会... 恰逢其时的连绵细雨与满天柳絮,似乎也是在映衬他们心中那些离别的忧伤,与对 ...

  6. nginx 负载均衡-- 常用nginx配置

    中文官方网站http://wiki.nginx.org/Chshttp://www.howtocn.org/ --------------------------------------------- ...

  7. 负载均衡之 nginx

    什么是负载均衡负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据[均匀]分摊到多个操作单元上执行,负载均衡的关键在于[均匀].在使用nginx负载均 ...

  8. 负载均衡之nginx

    什么是负载均衡负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据[均匀]分摊到多个操作单元上执行,负载均衡的关键在于[均匀].在使用nginx负载均 ...

  9. Nginx负载均衡——扩展功能(NGINX Plus)

    本文主要是介绍了NGINX Plus的相关功能,横跨了NGINX Plus R5/R6/R7/R9等各个不同版本的更新. 什么是NGINX Plus? 顾名思义,就是Nginx的加强版或者扩展版.我们 ...

随机推荐

  1. 【算法系列学习】巧妙建图,暴搜去重 Counting Cliques

    E - Counting Cliques http://blog.csdn.net/eventqueue/article/details/52973747 http://blog.csdn.net/y ...

  2. Elasticsearch 默认配置 IK 及 Java AnalyzeRequestBuilder 使用

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!   『 春夏秋冬失去了你,我怎么过一年四季- 民谣歌词 』   本文提纲 一.什么是 Ela ...

  3. javascript ES3小测试

    一.温故知新 做做题,总是能有温故知新的体验.这套题是2010年的了,比较老了, http://perfectionkills.com/  还有一套http://perfectionkills.com ...

  4. Spring Session实现分布式session的简单示例

    前面有用 tomcat-redis-session-manager来实现分布式session管理,但是它有一定的局限性,主要是跟tomcat绑定太紧了,这里改成用Spring Session来管理分布 ...

  5. 解决xmapp中Apache端口号占用问题

    [原]解决 "安装xmapp后Apache不能正常启动" 问题 小伙伴们安装xmapp后发现Apache不能正常开启,下面给出了不同情况的解决办法,可以分为以下几种情况分析问题: ...

  6. hdu2159 FATE 经典二维背包

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 思路: 定义ans存当前满足条件的消耗的最小的忍耐值(满足条件的忍耐值为在当前消耗的忍耐值的情况 ...

  7. jquery源码 DOM加载

    jQuery版本:2.0.3 DOM加载有关的扩展 isReady:DOM是否加载完(内部使用) readyWait:等待多少文件的计数器(内部使用) holdReady():推迟DOM触发 read ...

  8. java泛型探索——泛型类

    本文主要讨论一下如何声明泛型类,讨论的范围涉及构造函数.静态成员.内部类. 构造函数 泛型的类型参数首先声明在首部: public class Pair<T,U> { private fi ...

  9. JEESZ-Redis分布式缓存安装和使用

    独立缓存服务器: Linux CentOS Redis 版本: 3.0下面我们针对于Redis安装做下详细的记录:编译和安装所需的包:# yum install gcc tcl创建安装目录:# mkd ...

  10. [Angularjs]$http.post与$.post

    摘要 在angularjs发送post请求的时候,确实很困惑,在传递json数据的时候,总会遇到在服务端无法接受到参数的情况,这里有必要与$.post进行比较学习一下. 一个例子 这里模拟登录的一个场 ...