nginx在windows平台下的使用笔记
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平台下的使用笔记的更多相关文章
- 【Nginx】Windows平台下配置Nginx服务实现负载均衡
前言:废话不多说了,直接上步骤. 系统环境:win10 测试用的开发环境和服务类型:VS2022 + DotNet 6 + WebApi 1.本地先创建一个webapi项目,用于测试使用. 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; ...
- Django 1.6在Windows平台下的配置
Django 1.6 在Windows平台下的配置 前言 最近两天研究了下Django1.6在Windows平台中的配置安装,服务器采用Apache.期间遇到过许多新手所遇到的各种问题,也算是一种宝贵 ...
- Nginx在Windows平台的配置
Nginx在Windows平台的配置 能够使用Nginx搭建Tomcat集群,并完成负载均衡. 1.什么是Nginx 2.为什么使用Nginx 背景: 互联网飞速发展的今天,大用户量高并发已经成为互联 ...
- Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)
概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...
- windows平台下基于VisualStudio的Clang安装和配置
LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域.Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程 ...
- Windows平台下的读写锁
Windows平台下的读写锁简单介绍Windows平台下的读写锁以及实现.背景介绍Windows在Vista 和 Server2008以后才开始提供读写锁API,即SRW系列函数(Initialize ...
- [转]Windows平台下安装Hadoop
1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...
- MongoDB学习总结(一) —— Windows平台下安装
> 基本概念 MongoDB是一个基于分布式文件存储的开源数据库系统,皆在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB将数据存储为一个文档,数据结构由键值key=>val ...
随机推荐
- dubbox实现REST服务
一.dubbox的由来 dubbox是当当网基于dubbo的基础上开发的扩展版,也可以认为是dubbo的升级版,根据当前互联网的应用需求,增加了很多扩展的功能. dubbox并没有发布到maven中央 ...
- PTA 1005 Spell It Right (20)(20 分)水题
1005 Spell It Right (20)(20 分) Given a non-negative integer N, your task is to compute the sum of al ...
- Java-Runoob-高级编程:Java 网络编程
ylbtech-Java-Runoob-高级编程:Java 网络编程 1.返回顶部 1. Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.n ...
- configure: error: jpeglib.h not found.
编译出现错误: configure: error: jpeglib.h not found. 解决方法:yum install libjpeg libjpeg-devel -y libjpeg-dev ...
- 为什么我tracert经过H3C设备的时候,老是*号,不回包
两条命令搞定 ip unreachables en ip ttl-expires enable
- ngui自适应
增加UIROOT using UnityEngine; namespace Com.Xyz.UI { [ExecuteInEditMode] [RequireComponent(typeof(UIRo ...
- Docker - 使用Swarm和compose部署服务(containers)
前言 在之前使用Docker的过程中,一直是用 Docker run 命令单独启动container后再加入Overlay网络的方式实现部署工作的. 这种方式看似直接,但是随着服务所包含的contai ...
- 【语音识别】Microsoft Speech Platform 自学笔记2 环境要求与安装过程
笔记人:又吹风 时 间:2012/12/16 主要内容:Microsoft Speech Platform的环境要求与安装过程. 上次也说过了,当前Microsoft Speech Platform最 ...
- 【学习笔记】dp入门
知识点 动态规划(简称dp),可以说是各种程序设计中遇到的第一个坎吧,这篇博文是我对dp的一点点理解,希望可以帮助更多人dp入门. 先看看这段话 动态规划(dynamic programming) ...
- FastClick
处理移动端click事件300毫秒延迟.FastClick 是一个简单,易于使用的js库用于消除在移动浏览器上触发click事件与一个物理Tap(敲击)之间的300延迟. 1.为什么会延迟? 从点击屏 ...