目录

简介

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. php-fpm死机解决办法,脚本后台自动重启

    本人用nginx+php7搭建了一台服务器,因为请求量太大,而且php里面又有挂起的任务,导致php-fpm在高峰期的时候经常死掉,吧php-fpm的最大进程数已经改到1000了,还是吃不消,cpu也 ...

  2. Python:认识变量和字符串

    几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣赏的人.明星或模特等,直至最后 ...

  3. [Linux] Linux 中的基本命令与目录结构

    Linux 中的基本命令与目录结构 目录 一.Linux 基本目录结构 二.基本命令 三.浏览目录 四.中间命令 五.更改密码 六.环境变量和 shell 变量 七.命令路径 八.文本编辑器 九.获取 ...

  4. 【2017-05-04】winfrom进程、线程

    一.进程 一个进程就是一个程序,利用进程可以在一个程序中打开另一个程序. 1.开启某个进程Process.Start("文件缩写名"); 注意:Process要解析命名空间. 2. ...

  5. [js笔记整理]面向对象篇

    一.js面向对象基本概念 对象:内部封装.对外预留接口,一种通用的思想,面向对象分析: 1.特点 (1)抽象 (2)封装 (3)继承:多态继承.多重继承 2.对象组成 (1)属性: 任何对象都可以添加 ...

  6. 酷睿彩票合买代购网站管理系统 v2016 - 源码下载 有合买功能 有免费版 标准版 高级版

    源码介绍 免费版下载地址 电信 浙江腾佑 网鼎科技 正易网络下载 联通 网鼎联通   标准版联系QQ:1395239152 彩票合买代购网站管理系统公司独立开发,完全拥有软件自主知识产权.具有电脑We ...

  7. Java学习笔记——浅谈数据结构与Java集合框架(第三篇、Map)

    桃李春风一杯酒,江湖夜雨十年灯 --寄黄几复 之前图上写错了,是Hashtable类.t是小写的,它是个很古老的类,以至于命名都没有那么规范.. HashMap HashMap就是存储key-valu ...

  8. Java生产1-100的随机数

    直接调用Math里面的random即可,简单方便int i = (int)(Math.random()*100+1);

  9. 关于Dubbo一个接口多个实现的解决方案

    如题,其实这个问题在官方文档中已经说明了.我直接贴图就好了 更多学习请参考:minglisoft.cn/technology

  10. Hive的分区操作~~~~~~

    一.Hive分区(一).分区概念:为什么要创建分区:单个表数据量越来越大的时候,在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据, ...