nginx主要提供反向代理及负载均衡的能力,重定向报文代理及报文数据替换也是常用功能。(参考https://www.cnblogs.com/fanzhidongyzby/p/5194895.html

一、常用命令

start nginx

nginx –s stop — fast shutdown 快速停止,可能并不保存相关信息

nginx –s quit — graceful shutdown 完整有序的停止,并保存相关信息

nginx –s reload — reloading the configuration file 配置信息修改,需重新载入配置

nginx –s reopen — reopening the log files 重新打开日志文件

nginx –v 查看Nginx版本

注意:nginx的启动有两种方式,即1.start nginx和2.nginx.exe,但第二种cmd窗口一直处于执行状态,无法进行任何命令操作,建议使用方式1.start nginx来启动。

二、辅助命令

tasklist /fi "imagename eq nginx.exe"  查看进程是否启动

netstat -aon|findstr "80"  查看80端口

tasklist |findstr "pid"  查看PID对应的进程

taskkill /f /t /im 进程名imagename   结束进程

三、以windows services方式运行

因ngnix没有提供服务运行的安装方式,所以需要借助以工具Windows Service Wrapper,下载版本http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/

详细使用说明参考https://github.com/kohsuke/winsw/blob/master/doc/installation.md

另一种方式是利用NSSM,详看http://nssm.cc/

简单使用样例

1、将winsw.exe改名成nginx-service.exe

2、新建nginx-service.exe.config配置文件

<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0" />
  </startup>
  <runtime>
    <generatePublisherEvidence enabled="false"/>
  </runtime>
</configuration>

3、新建nginx-service.xml服务配置文件

<service>
  <id>nginx</id>
  <name>Nginx Service</name>
  <description>High Performance Nginx Service</description>
  <executable>%BASE%\nginx.exe</executable>
  <stopexecutable>%BASE%\nginx.exe -s stop</stopexecutable>
  <workingdirectory>%BASE%\</workingdirectory>
  <startmode>Automatic</startmode>
  <delayedAutoStart/>
  <logpath>%BASE%\logs</logpath>
  <log mode="roll-by-time">
    <pattern>yyyyMMdd</pattern>
  </log>
</service>

4、安装服务

以管理员身份运行cmd,进入ngnix目录,输入:nginx-service.exe install

5、管理服务

打开服务管理器进行服务的启动、停止,或CMD下运行命令 net start/stop nginx来管理

四、配置说明

主配置文件nginx.confg分为4部分,main(全局配置)、server(主机配置)、upstream(负载均衡服务器设置)以及location(URL匹配特定位置的设置),这四者的关系是:server继承main,location继承server,upstream既不会继承其它设置也不会被继承

配置项说明

worker_processes  开启的线程数,一般跟逻辑CPU核数一致

upstream  设定负载均衡的服务器列表 支持多组的负载均衡,可以配置多个upstream  来服务于不同的Server

upstream mysvr {
  #weigth参数表示权值,权值越高被分配到的几率越大  
  #1.down 表示单前的server暂时不参与负载
  #2.weight 默认为1.weight越大,负载的权重就越大。    
  #3.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。 
  #server 192.168.31.233  down;
  #server 192.168.31.233  backup;
  server 192.168.31.233:8087  weight=1;
  server 192.168.31.233:8088  weight=2;
}

五、配置场景

1、负载平衡,参考http://nginx.org/en/docs/http/load_balancing.html

例1

http {

upstream backend {       
        least_conn;

server webserver1 weight=1;
        server webserver2:80 weight=4;   
    }

server {
        listen 80;

location / {
            proxy_pass http://backend;
           
            # Rewrite the 'Host' header to the value in the client request
            # or primary server name
            proxy_set_header Host $host;

# Alternatively, put the value in the config:
            #proxy_set_header Host www.example.com;           
        }
    }
}

例2

http {
     # Basic reverse proxy server
     upstream backend  {
           server 127.0.0.1:4433;
     }

# *:80 -> 127.0.0.1:4433
     server {
            listen       80;
            server_name  example.com;
            ## send all traffic to the back-end
            location / {
                 proxy_pass        http://backend;
                 proxy_redirect    off;
                 proxy_set_header  X-Forwarded-For $remote_addr;
            }
    }
}

nginx在windows平台下的使用笔记的更多相关文章

  1. 【Nginx】Windows平台下配置Nginx服务实现负载均衡

    前言:废话不多说了,直接上步骤. 系统环境:win10 测试用的开发环境和服务类型:VS2022 + DotNet 6 + WebApi 1.本地先创建一个webapi项目,用于测试使用. 2.新建一 ...

  2. laravel + php cgi + nginx在windows平台下的配置

    1.d:\xampp\php\php-cgi.exe -b 127.0.0.1:9000 -c d:\xampp\php\php.ini 2.nginx conf配置如下: #user nobody; ...

  3. Django 1.6在Windows平台下的配置

    Django 1.6 在Windows平台下的配置 前言 最近两天研究了下Django1.6在Windows平台中的配置安装,服务器采用Apache.期间遇到过许多新手所遇到的各种问题,也算是一种宝贵 ...

  4. Nginx在Windows平台的配置

    Nginx在Windows平台的配置 能够使用Nginx搭建Tomcat集群,并完成负载均衡. 1.什么是Nginx 2.为什么使用Nginx 背景: 互联网飞速发展的今天,大用户量高并发已经成为互联 ...

  5. Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  6. windows平台下基于VisualStudio的Clang安装和配置

    LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域.Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程 ...

  7. Windows平台下的读写锁

    Windows平台下的读写锁简单介绍Windows平台下的读写锁以及实现.背景介绍Windows在Vista 和 Server2008以后才开始提供读写锁API,即SRW系列函数(Initialize ...

  8. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...

  9. MongoDB学习总结(一) —— Windows平台下安装

    > 基本概念 MongoDB是一个基于分布式文件存储的开源数据库系统,皆在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB将数据存储为一个文档,数据结构由键值key=>val ...

随机推荐

  1. FC 协议

    FC 协议简介 开发于1988年,最早是用来提高硬盘协议的传输带宽,侧重于数据的快速.高效.可靠传输.到上世纪90年代末, FC SAN 开始得到大规模的广泛应用. FC 协议其实并不能翻译成光纤协议 ...

  2. (转)Inno Setup入门(一)——最简单的安装脚本

    本文转载自:http://blog.csdn.net/Augusdi/article/details/8564788 一个最简单的安装脚本: 1.最简单的安装文件脚本: [setup] AppName ...

  3. Java 设计模式 之 中介者模式(Mediator)

    中介者的功能非常简单,就是封装对象之间的交互. 如果一个对象的操作会引起其他相关对象的变化,或者是某个操作需要引起其他对象的后续或连带操作,而这个对象又不希望自己来处理这些关系,那么久可以找中介者,把 ...

  4. Java实现动态加载读取properties文件

    问题: 当我们使用如下语句加载.properties时: ClassLoader classLoader = this.getClass().getClassLoader(); Properties ...

  5. 关于SQLSERVER的全文目录跟全文索引的区别

    很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~ 先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ...

  6. python json.dumps() 中文乱码问题

    python json.dumps() 中文乱码问题   python 输出一串中文字符,在控制台上(控制台使用UTF-8编码)通过print 可以正常显示,但是写入到文件中之后,中文字符都输出成as ...

  7. 【转】java与.net比较学习系列(3) 基本数据类型和类型转换

    原文地址:https://www.cnblogs.com/mcgrady/p/3397874.html 阅读目录 一,整数类型 二,浮点数类型 三,字符类型 四,布尔类型 五,类型转换之自动转换 六, ...

  8. python与冒泡排序

    上一篇文章,介绍了一个非常快的排序算法--桶排序,但是它的缺点就是太耗资源了,这次要实现的算法就不用太耗资源了,它就是冒泡排序. 问题提出: 将以下数据升序排列:9, 2, 8, 6, 4 冒泡排序原 ...

  9. krpano之缩略图文本添加

    效果: 在缩略图上添加文本,显示缩略图名称. 方法:将皮肤中的 skin_addthumbs 方法替换为一下代码. <action name="skin_addthumbs" ...

  10. 页面生成柱状图 --- D3.js

    转载自:https://www.cnblogs.com/fastmover/p/7779660.html D3.js从入门到"放弃"指南 前言 近期略有点诸事不顺,趁略有闲余之时, ...