• 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. spring-boot(hello world)

    重拾程序,想不到从java开始,最近两周开搞web,从基本框架开始,仅做个人学习记录,遗漏之处望请海涵. 1.基本准备 开发环境win7: IDE  myeclipse Version: 2017 C ...

  2. 机器学习技法笔记:08 Adaptive Boosting

    Roadmap Motivation of Boosting Diversity by Re-weighting Adaptive Boosting Algorithm Adaptive Boosti ...

  3. C++primer笔记之关联容器

    在这一章中,有以下的几点收获: 1.pair类型的使用相当频繁,如果需要定义多个相同的pair类型对象,可考虑利用typedef简化其声明: typedef pair<string, strin ...

  4. Java序列化技术即将被废除!!!

    我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术.Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数据保存到磁盘或者 ...

  5. python之斐波那契数列递归推导在性能方面的反思

    在各种语言中,谈到递归首当其冲的是斐波那契数列,太典型了,简直就是标杆 一开始本人在学习递归也是如此,因为太符合逻辑了 后台在工作和学习中,不断反思递归真的就好嘛? 首先递归需要从后往前推导,所有数据 ...

  6. 第六章:声明式服务调用:Spring Cloud Feign

    Spring Cloud Feign 是基于 Netflix Feign 实现的,整合了 Spring Cloud Ribbon 和 Spring Cloud Hystrix,除了提供这两者的强大功能 ...

  7. C# sqlhelper 整理

    以下代码是参考几个不同人的写法总结写成的,肯定还有很大的优化空间,暂存该版本:有建议的欢迎提出: using System; using System.Collections.Generic; usi ...

  8. Mysql的变量一览

    Server System Variables(系统变量) MySQL系统变量(system variables)是指MySQL实例的各种系统变量,实际上是一些系统参数,用于初始化或设定数据库对系统资 ...

  9. 搭建oracle linux虚拟机报错解决

    sysctl -P 报错解决办法问题症状修改 linux 内核文件 #vi /etc/sysctl.conf后执行sysctl  -P 报错error: "net.bridge.bridge ...

  10. 前端错误监控,sentry入门配置详细教程

    一.前言 最近经理说要把公司项目结合sentry用起来,然后组长不想做,老员工也不想做,分配任务就这么分配给我了,很荣幸接锅,摸索了几天,了解了一些基本配置,深一点的玩法可能还得实践一段时间,这里对于 ...