• nginx的应用(window环境下)


    • 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;
            }
       注意:1>alias  路径后面必须有 /   root 可加可不加
                2> 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

      

  • 相关阅读:
    sql ''增删改'' 笔记
    表单
    html基础
    第一本书的总结
    带参
    字符串
    zookeeper入门与实践
    node中间层转发请求
    npm脚本传参问题
    docker入门笔记
  • 原文地址:https://www.cnblogs.com/huhongy/p/9079749.html
Copyright © 2020-2023  润新知