windows下的nginx应用
nginx(背景)
nginx是一个高性能的HTTP服务器,以前我经常在linux系统中配置,主要做反向代理和负载均衡,最近根据业务需要,需要在window中配置反向和负载,下面就介绍一下nginx的安装与使用
nginx介绍
nginx的下载和安装
- 下载:http://nginx.org/en/download.html
- 点进去选择版本下载即可:如图
- 下载:http://nginx.org/en/download.html

下载解压:

进入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;proxysetheaderX−Forwarded−Forhost;proxysetheaderX−Forwarded−Forremote_addr;
}

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

@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
windows下的nginx应用的更多相关文章
- windows 下使用Nginx替代apache作为服务器
说实话, 在windows下使用Nginx 着实有点不太方便, 但因项目需求, 又不想换系统(虽然可以搞个虚拟机玩), 只能用Nginx了 好了, 不多说了. 开始... 首先我用的是xampp包(A ...
- windows下安装nginx
说起开发,自己感到非常惭愧,由于公司让我给<绿电侠>项目写整体架构解决方案,才开始接触nginx这个东东,突然觉得它是一把非常好的利器. 本文主要记录在windows下安装nginx,另参 ...
- windows 下配置 Nginx 常见问题(转)
windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...
- Windows下配置Nginx
一.今天是2017年1月18日.揣着一种也许叫做冲动的心情,决定以后每天都记录和回顾新涉及的技术,巩固已学到的知识,坚持. 二.回归到今天的技术主题,因为之前对于[反向代理]这种技术充满了好奇,借此机 ...
- Windows 下使用nginx命令启动
http://wanganwu.blog.163.com/blog/static/7788722012322111417966/ Windows下Nginx的启动.停止等命令 在Windows下使用N ...
- windows下搭建nginx+php开发环境
windows下搭建nginx+php开发环境 1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求.因此准备再自己搭建一个环境. 2.准备 工具: ...
- windows下使用nginx
本文介绍如何在windows下使用nginx 起步 下载安装 将nginx安装成windows服务 常用命令 构建服务 静态服务 代理服务器 http配置文件转移 负载均衡 负载均衡配置 负载均衡方法 ...
- Windows下控制Nginx的状态
Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启 ...
- 在CentOS/Windows下配置Nginx(以及踩坑)
在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...
- Windows下使用Nginx+Tomact做负载均衡
前言 今天,王子与大家闲谈一下如何在Windows下使用Nginx+Tomcat做负载均衡的完整步骤,小伙伴们可以试着自己动手实践一下哦. 另外说明一点,本篇文章是纯实操文章,不涉及太多原理的解读,后 ...
随机推荐
- 手写一个简单的ElasticSearch SQL转换器(一)
一.前言 之前有个需求,是使ElasticSearch支持使用SQL进行简单查询,较新版本的ES已经支持该特性(不过貌似还是实验性质的?) ,而且git上也有elasticsearch-sql 插件, ...
- win7重装系统经验总结报告(2013年6月29日凌晨1:45)
win7重装系统经验总结报告(2013年6月29日凌晨1:45) 步骤: 1.考虑被重做的电脑是否有重要文件在C盘.有则转移到D盘等非系统盘. 2.看该电脑是2GB内存还是4GB以上内存. 3.准备好 ...
- 用c语言实现前序创建二叉树(递归),分别用前序,中序,后序遍历,以及分别输出节点个数和叶子节点个数
本人c语言小白一枚,近期在学习数据结构(c语言版),特写此随笔,做一些总结和分享,如有不当之处,请各位技术大牛斧正 首先我们用一个结构体来抽象树的结点,代码如下(这里我们存放的数据为char型,大家可 ...
- Ubuntu16.04下升级Python到3.6
转: 这里 有一篇帖子是说从源代码开始安装,这种方式原来尝试过,需要删除系统默认的软链命令,感觉比较粗暴,现在在想有没有更好的方式呢? 找到一个帖子:http://ubuntuhandbook.org ...
- javadoc的使用
在进行项目开发过程中,项目接口文档是很重要的一块内容,在java项目中我们可以用swagger,asciidoc,javadoc等方式来生产文档,而其中最基本的文档生成方式就是javadoc,它一般用 ...
- 关于self
关于self 就像C++的this 但是不同之处是他不是关键字,只代表第一个参数,可以用任何一个普通变量代替 self在对象的方法中表示当前对象本身,如果通过对象调用一个方法,那么该对象会自动传入到当 ...
- UVA12433 【Rent a Car】
这题应该算是比较难的一道网络流的题,(但却在我校OJ考试上出现了),但是大家只要能理解此图的建边方式就行. 假设有5天的租车需求,虚拟出2*n+2 即 12个节点,0为源点,12为汇点. 1,源点到1 ...
- 【 格式化时间(SimpleDateFormat)用法】
将特定字符串转换成Date格式 可以通过 new 一个 SimpleDateFormat 对象,通过对象调用parse方法实现 示例代码: String time = "2019-11-09 ...
- 网络安全-主动信息收集篇第二章-二层网络扫描之arping
arping二层网络发现 介绍工具:arping arping主要查看IP的MAC地址 缺点:工具本身只能ping一个IP地址,不能ping一个IP段.但是可以通过脚本将整个网络中的IP进行扫描. 脚 ...
- 「考试」$5T$
啊因为最近题实在是好啊,只能四五篇四五篇写了. T1. 括号序列的确简单. 当我们维护左右$cnt$后. 到一个左括号的地方的话. 答案就是:$$\sum\limits_{i=1}^{min(lc,r ...