Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。官方测试能够支持5W并发连接,资源消耗低且稳定

正向代理

客户端和目标服务两者之间通过代理间接连接。客户端只需向代理服务器发起请求,并指定自己的目标服务(进行一些设置),由代理转交给指定的目标服务,
同时目标服务器返回的内容转接给代理,由代理返回给客户端,此时目标服务不知道请求的客户端是谁。

反向代理

和正向代理相反,客户端并不能知道反向代理的存在,自己请求的代理服务器对于客户端来说就是自己的目标服务(代理对外表现为目标服务器),客户端不需要进行特别的任何设置就可以反问,由代理决定
向哪台服务器转交请求(转接真实服务器)。

总的说:

一个是代理客户端,为客户端收发请求,使真实客户端对服务器不可见。
一个是代理服务器,为服务器收发请求,使真实服务器对客户端不可见。

负载均衡

Nginx的应用就是实现负载均衡,nginx扮演了反向代理服务器的角色, 将请求数量按照一定的规则进行分发到不同的服务器处理的规则,就是一种均衡规则

下载安装

官网:https://nginx.org/en/download.html, 下载window版本

启动nginx:

1) 直接双击该目录下的nginx.exe,即可启动nginx服务器

2) 命令行进入该文件夹,执行nginx命令,也会直接启动nginx服务器

如:

D:/resp_applicationinx-1.13.> nginx 

关闭nginx:

1) 强制停止nginx服务器,如果有未处理的数据,丢弃
D:/resp_applicationinx-1.13.> nginx -s stop
2) 优雅的停止nginx服务器,如果有未处理的数据,等待处理完成之后停止

D:/resp_applicationinx-1.13.> nginx -s quit 

常见配置

配置文件目录:conf/nginx.conf

配置说明:

......                              # 用于进行nginx全局信息的配置

events {                            # nginx工作模式配置

}

http {                              # http设置
.... server { # 服务器主机配置
....
location { # 路由配置
....
} location path {
....
} location otherpath {
....
}
} server {
.... location {
....
}
} upstream name { # 负载均衡配置
....
}
}

配置实例:

########### 每个指令必须有分号结束。#################
#worker_processes ; #允许生成的进程数,默认为1可以等于CPU核心数
#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址
error_log log/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
#use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections ; #最大连接数,默认为512
}
http {
include mime.types;               #文件扩展名与文件类型映射表
default_type application/octet-stream;        #默认文件类型,默认为text/plain
#access_log off;                     #取消服务日志
log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
access_log log/access.log myFormat;          #combined为日志格式的默认值
sendfile on; #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
keepalive_timeout ; #连接超时时间,默认为75s,可以在http,server,location块。 upstream mysvr {
server 127.0.0.1:7878 weight=1;
server 127.0.0.2:7878 weight=2; #weight表示权值,越高分配的概率越大
server 127.0.0.3.7878 down; #down 表示主机暂停服务
}
error_page https://www.baidu.com; #错误页
server {
keepalive_requests ; #单连接请求上限次数。
listen ; #监听端口
server_name 127.0.0.1; #监听地址
location ~*^.+$ { #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
#root path; #根目录
#index vv.txt; #设置默认页
proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表 必须和upstream 后面的名字一样
deny 127.0.0.1; #拒绝的ip
allow 172.18.5.54; #允许的ip
}
}
}

简单示例

访问127.0.0.1:8001  被转向了预先部署好的2个站点 127.0.0.1:8022  和127.0.0.1:8033

Nginx 简单记录的更多相关文章

  1. Nginx正确记录post日志的方法

    Nginx正确记录post日志的方法 事实上可以很简单,这取决于把 access_log 放在哪个 location 里面. 一,放到包含fastcgi_pass或proxy_pass的Locatio ...

  2. centos 6.5 下 nginx 简单优化_虚拟主机_负载均衡

    # 用了nginx for win很久,安装也是超级简单.# 还是用一下linux版的吧.环境是centos 6.5 x64 # 安装开始: # 先安装依赖 yum install gcc-c++ y ...

  3. 一篇文章带你了解轻量级Web服务器——Nginx简单入门

    一篇文章带你了解轻量级Web服务器--Nginx简单入门 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器 在本篇中我们会简单介绍Nginx的特点,安装,相关指令使用以及配置信 ...

  4. JSP简单记录

    JSP,全称是Java Server Page,是运行在服务器端的页面,是建立在Servlet规范的动态网页技术,JSP文件在第一次请求时,会被编译成Servlet,所以JSP也可以看成是运行中的Se ...

  5. Nginx 简单的负载均衡配置示例(转载)

    原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...

  6. OpenCV安装配置的简单记录

    在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV ...

  7. nginx简单反向代理和负载均衡(ubuntu)

    nginx简单反向代理与负载均衡 环境:三台ubuntu 12.04.5 虚拟机    均装有nginx 1.1.19 以下u1(192.168.240.129) ,u2(192.168.240.13 ...

  8. nginx简单双机热备:backup参数的使用

    nginx简单双机热备:backup参数的使用 nginx简单双机热备:backup参数的使用

  9. Nginx简单操作

    Nginx简单操作 平滑重启:读取配置文件,正确后启动新nginx,关闭旧服务进程 # kill HUP nginx.pid # /usr/sbin/nginx -c /etc/nginx/nginx ...

随机推荐

  1. 在MFC中通过访问IP地址下载文件到本地

    void CDownLoad::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CDialogEx::OnOK(); UpdateData(TRUE); CStri ...

  2. bzoj 1901 主席树+树状数组

    修改+查询第k小值 单纯主席树修改会打乱所有,所以再套一个树状数组维护前缀和使得修改,查询都是log 对了,bzoj上不需要读入组数,蜜汁re.. #include<cstdio> #in ...

  3. MYSQL——数据库存储引擎!

    本人安装mysql版本为:mysql  Ver 14.14 Distrib 5.7.18, for Win64 (x86_64),查看mysql的版本号方式:cmd-->mysql --vers ...

  4. 浅谈surging服务引擎中的rabbitmq组件和容器化部署

    1.前言 上个星期完成了surging 的0.9.0.1 更新工作,此版本通过nuget下载引擎组件,下载后,无需通过代码build集成,引擎会通过Sidecar模式自动扫描装配异构组件来构建服务引擎 ...

  5. FreeSql.DbContext 第二个版本介绍

    FreeSql.DbContext 实现类似 EFCore 使用方法,跟踪对象状态,最终通过 SaveChanges 方法提交事务. 目前是第二个初版,已实现状态跟踪保存(导航属性的跟踪暂时不支持). ...

  6. windows,分割路径.得出目录

    #include <windows.h> #include <vector> #include <stdio.h> #include <string> ...

  7. docker(4)docker的网络,自定义网桥

    Docker 的网络 运行 ifconfig 找到 docker0 : 虚拟网卡默认网卡名称为docker0 查看docker 的网桥: 我这里默认们没有进行安装 网桥管理设备:进行安装一下: yum ...

  8. revit二次开发addin文件

    command命令: <?xml version="1.0" encoding="utf-8"?> <RevitAddIns> < ...

  9. 设计模式之结构类模式PK

    结构类模式包括: 适配器模式 桥梁模式 组合模式 装饰模式 门面模式 享元模式 代理模式 结构类模式着重于如何建立一个软件结构 为什么叫结构类模式呢? 因为他们都是通过组合类或对象产生更大结构以适应更 ...

  10. arcgis api 4.x for js 结合 react 入门开发系列初探篇(附源码下载)

    你还在使用 JQuery 或者 Dojo 框架开发 arcgis api 4.x for js 吗?想试试模块化开发吗?随着前端技术的发展,arcgis api 4.x for js 也有了结合 re ...