• nginx(背景)

    nginx是一个高性能的HTTP服务器,以前我经常在linux系统中配置,主要做反向代理和负载均衡,最近根据业务需要,需要在window中配置反向和负载,下面就介绍一下nginx的安装与使用

           

          下载解压:

            

          进入nginx文件夹,双击nginx.exe即可简单启动【命令在最后会贴出来】

           双击后黑窗口闪退,可以在任务管理器中查看nginx进程

            

          然后在浏览器输入localhost

          

      nginx的简单启动已经测试通过

      注意:根据不同的系统可能会出现80端口被占用的情况,eg,在win10下,80端口可能被IIS程序占用,只需要改nginx的默认端口就行了


  • nginx的反向代理

    反向代理:是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

    正向代理:只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中

    图解反向代理和正向代理[补充]

      正向代理类似一个跳板机,通过跳板机去访问外部资源

      

      正向代理的用处:

        (1)访问原来无法访问的资源,如google

        (2) 可以做缓存,加速访问资源

                  (3)对客户端访问授权,上网进行认证

                  (4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

    反向代理:

      

      反向代理的好处:

          保证内网的安全,负载均衡


  • nginx的反向代理配置

    上面已经简单介绍反向代理与正向代理的区别,这样有助于大家理解反向代理的好处,下面就具体介绍一下nginx反向代理的配置

      在介绍反向代理之前先给大家说一下动静分离的问题:

      动静分离的处理也是nginx的一个特点,把静态文件交给nginx来处理,可以增加系统的性能,把大批量的静态文件以nginx的方式去加载,然后去访问,不用在系统请求中获得,减少与系统交互次数,这也是系统优化的一种方式:

      配置文件如下:nginx.conf

        

    然后重启nginx    nginx  -s  reload即可     验证如下

      

      上面这是配置动静分离的步骤,这也是反向代理的一种特殊情况,下面我来配置一下关于tomcat的反向代理

      反向代理的配置文件如下:

        

    验证如下:

      

      到这,单个server下的配置反向代理已经基本完成,多个server块下的配置与此类似,在此不在多放截图,有兴趣的可以自己手动配置一下进行验证


  • nginx的负载均衡

    nginx的负载均衡是nginx的一个亮点,也是核心点,nginx的高并发,服务器的合理请求划分都是通过负载来直接或者间接实现的,下面我介绍集中负载均衡的实现以及适用场景

    负载均衡:把原先一台服务器的请求分发到不同服务器,以实现服务器减压的目的。(个人理解)

          负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性(百度)

    负载均衡的分类:软件负载均衡和硬件负载均衡     软件主要包括(nginx,lvs,netscaler)    硬件主要包括F5

    下面我简单配置一下负载均衡的实现:需要至少两台tomcat服务器进行模拟。

      

      关于负载均衡的几种方式参考   http://www.cnblogs.com/huhongy/p/7300118.html

      


      关于nginx的命令,主要有

       有dos命令进如nginx的文件夹下

       start nginx    启动nginx   在任务管理器中查看

       nginx -s reload    重新加载配置文件使其生效

       nginx -s stop   关闭    任务管理器中kill

       nginx -s quit   关闭    任务管理器中kill

       其他命令自己百度


补充:

nginx一些常见问题:    root和alias的对比区别:

   location /h2 {
alias d:/newfiber/;
index index.php index.html index.htm;
autoindex on;
} location /maven {
root d:/newfiber;
index index.php index.html index.htm;
autoindex on;
}
注意:>alias 路径后面必须有 / root 可加可不加
> alias 访问的就是alias的指定文件(夹)路径
root访问的是组合路径 路径+ uri
eg:
alias : d:/newfiber/;
root : d:/newfiber/maven 2 proxy_pass配置说明 主要看proxy_pass http://localhost:8888 | http://localhost:8888/ 最后是否有 /

# 不带 /     location  /gitbucket
   # proxy_pass http://localhost:8888; ---------> location 的 /gitbucket 作为一级目录

# 带 /       localtion /gitbucket
   # proxy_pass http://localhost:8888/; --------->location 的 /gitbucket 不作为一级目录

location /gitbucket {
     proxy_pass http://localhost:8888/gitbucket/;
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-For $remote_addr;
   }


启动脚本:  生成bat文件放入到nginx的安装目录下

  https://blog-static.cnblogs.com/files/huhongy/nginx%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC.bak.js

  

@echo off
rem 如果启动前已经启动nginx并记录下pid文件,会kill指定进程
nginx.exe -s stop rem 测试配置文件语法正确性
nginx.exe -t -c conf/nginx.conf rem 显示版本信息
nginx.exe -v rem 按照指定配置去启动nginx
nginx.exe -c conf/nginx.conf

  

nginx的应用(window环境下)的更多相关文章

  1. window环境下将solr6.3部署到tomcat中

    1.我下载的solr是6.3版本的,需要jdk1.8及以上,tomcat8 JDK1.8的下载地址:http://www.Oracle.com/technetwork/Java/javase/down ...

  2. window环境下glog的安装

    window环境下glog的安装 分类: c++2014-09-23 14:12 32人阅读 评论(0) 收藏 举报 下载后解压,利用Visual Studio打开google-glog.sln.生成 ...

  3. window环境下杀死tomcat

    window环境下杀死进程 1.首先查找到占用8080端口的进程号PID是多少(tomcat默认是8080端口,假如你修改了tomcat的监听端口,请输入你的tomcat端口号) netstat -a ...

  4. window环境下npm install node-sass报错

    最近准备想用vue-cli初始化一个项目,需要sass-loader编译: 发现window下npm install node-sass和sass-loader一直报错, window 命令行中提示我 ...

  5. JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构

    一.简介 JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构 二.依赖 <!-- https://mvnrepository.com/artifact/org.fus ...

  6. Window环境下配置MySQL 5.6的主从复制

    原文:Window环境下配置MySQL 5.6的主从复制 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 2. ...

  7. 【转】mysql8.0 在window环境下的部署与配置

    [转]mysql8.0 在window环境下的部署与配置 今天在阿里云window服务器上配置mysql环境,踩了一些坑,分享出来.需要的朋友可以看看.额,或许有人要吐槽我为什么不在linux上去配置 ...

  8. Window环境下,PHP调用Python脚本

    参考 php调用python脚本*** php 调用 python脚本的方法 解决办法:php提供了许多调用其他脚本或程序的方法,比如exec/system/popen/proc_open/passt ...

  9. nodejs 修改端口号 process.env.PORT(window环境下)

    各个环境下,nodejs设置process.env.PORT的值的命令,如下1.linux环境下: PORT= node app.js 使用上面命令每次都需要重新设置,如果想设置一次永久生效,使用下面 ...

  10. window 环境下jdbc访问启用kerberos的impala

    最近,公司生产集群添加kerberos安全认证后,访问集群的任何组件都需要进行认证,这样问题来了,对于impala,未配置kerberos安全认证之前通过impala的jdbc驱动(impala-jd ...

随机推荐

  1. C#中关于as关键字的使用

    我们在实际编码中有时会用到as关键字来将对象转换为指定类型,与is类型不同的是,is关键字是用于检查对象是否与给定类型兼容,如果兼容就返回true,如果不兼容就返回false.而as关键字会直接进行类 ...

  2. Ubuntu 16.04 python和OpenCV安装

    Ubuntu 16.04 python和OpenCV安装:最进在做深度学习和计算机视觉的有关内容,因此要在python中用到opencv.我的电脑装的是Ubuntu 16.04,python 2.7和 ...

  3. 90 % Java 程序员被误导的一个性能优化策略

    我们经常看到一些 Java 性能优化的书或者理念,说不要在循环内定义变量,这样会占用过多的内存影响性能,而要在循环外面定义.接触 Java 这么久以来,相信很多 Java 程序员都被这种代码性能优化策 ...

  4. python --第三方登录--微博

    理解第三方登录的流程: 用户向本地应用商城发起请求,我要用微博进行登录 我们的商城凑一个url让用户跳转到第三方应用的url(微博的登录页面) 用户在该界面点击输入用户名密码之后,点击授权. 微博有个 ...

  5. 【转】浮点数与IEEE 754

    http://www.cnblogs.com/kingwolfofsky/archive/2011/07/21/2112299.html 浮点数 1.   什么是浮点数 在计算机系统的发展过程中,曾经 ...

  6. RobotFramework测试问题二:各种元素不能定位问题

    各种元素不能定位问题 一.元素定位 A. Click Element + xpath B. Click Element + contains C. Execute Javascript + getEl ...

  7. JQ获取CKeditor的值

    var editor = CKEDITOR.replace("content"); editor.setData(""); alert(CKEDITOR.ins ...

  8. Docker上运行MySQL服务

    1.搜索MySQL镜像 $ docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.i ...

  9. Sherman-Morrison公式及其应用

    Sherman-Morrison公式   Sherman-Morrison公式以 Jack Sherman 和 Winifred J. Morrison命名,在线性代数中,是求解逆矩阵的一种方法.本篇 ...

  10. ajax 跨域----好用的解决方案

    一.前言 跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了! 但是感觉还是差了点什么,于是现在重新梳理了一下.个人见识有限,如有差错,请多多见谅 二.前言 关于跨 ...