Windows安装nginx1.10.1反向代理访问IIS网站

 更新时间:2016年11月19日 15:36:54   作者:天风隼  
这篇文章主要为大家详细介绍了Windows安装nginx1.10.1反向代理访问IIS网站的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

脚本之家 / 编程助手:解决程序员“几乎”所有问题!
脚本之家官方知识库 → 点击立即使用

首先去官网下载软件包,解压,路径最好不要有中文

Nginx配置的路径问题

由于在Windows下文件路径可以用”\”, 也可以用”\\”, 也可以用”/”作为路径做分隔符。但”\”最容易引发问题,所以要尽量避免使用。

不要添加PATH,否则会引发错误,config文件路径找不到

比如我解压在E盘

cmd命令定位到nginx.exe所在文件夹cd E:\WorkSoftWare\nginx-1.10.1
然后执行,首先保证nginx.conf文件配置没问题

其实nginx最重要的和最主要的工作就是配置文件,其他没什么需要我们应用开发人员关注的,除非想修改底层源码.
nginx.conf配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
#user nobody;
worker_processes 1;
#工作进程的个数,可以配置多个
  
#全局错误日志及PID文件
error_log /WorkSoftWare/nginx-1.10.1/logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
  
pid  /WorkSoftWare/nginx-1.10.1/logs/nginx.pid;
  
  
events {
 worker_connections 1024; #单个进程最大连接数(最大连接数=连接数*进程数)
}
  
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
 include  mime.types; #设定配置文件位置,这里的conf是指nginx.conf所在的目录,也可以用绝对路径指定其他地方的配置文件
 default_type application/octet-stream; #默认类型-8进制文件流
  
 #设定日志格式
 #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
 #     '$status $body_bytes_sent "$http_referer" '
 #     '"$http_user_agent" "$http_x_forwarded_for"';
   
 #设定访问日志
 #access_log /WorkSoftWare/nginx-1.10.1/logs/access.log main;
  
 sendfile  on; #是否激活sendfile()函数,比默认模式更有效率
 #tcp_nopush  on; #将HTTP响应头压缩到一个包中发送,仅在sendfile开启时才能配合使用
  
 #连接超时时间
 #keepalive_timeout 0;
 keepalive_timeout 65;
  
 gzip on; #启用Gzip压缩
  
 #服务器的集群
 #设定负载均衡的服务器列表 支持多组的负载均衡,可以配置多个upstream 来服务于不同的Server.
 #nginx 的 upstream 支持 几 种方式的分配
 #1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
 #2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 跟上面样,指定了权重。
 #3)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
 #4)、fair  
 #5)、url_hash #Urlhash
   
 #upstream imicrosoft.net
 #{
  #服务器集群名字
  #服务器配置 weight是权重的意思,权重越大,分配的概率越大。
  #server 192.98.12.60:1985 weight=3 max_fails=2 fail_timeout=30s;
  #server 192.98.12.42:8086 weight=3 max_fails=2 fail_timeout=30s;
    
  #weigth参数表示权值,权值越高被分配到的几率越大
  #1.down 表示单前的server暂时不参与负载
  #2.weight 默认为1.weight越大,负载的权重就越大。 
  #3.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。  
  #本例是指在同一台服务器,多台服务器改变ip即可 
 # server 127.0.0.1:8055 weight=4 down;
 # server 127.0.0.1:8010 weight=5 backup;
 #}
   
   
 upstream localhost
 
  server 127.0.0.1:9000 weight=3 max_fails=2 fail_timeout=200s;
  server 127.0.0.1:8086 weight=5 max_fails=2 fail_timeout=200s;
 }
   
   
 #当前的Nginx的配置,代理服务器的地址,即Nginx安装的服务器地址、监听端口、默认地址,
 #设定虚拟主机,默认为监听80端口
 server
 {
  listen  9090; #侦听9090端口
  #对于server_name,如果需要将多个域名的请求进行反向代理,可以配置多个server_name来满足要求
  server_name localhost; #当前服务的域名
    
  charset utf8;
  #charset koi8-r;
   
  #设定本虚拟主机的访问日志
  #access_log logs/host.access.log main;
  
    
  #如果访问 /images/*, /js/*, /css/* 资源,则直接取本地文件,不用转发。
  #但如果文件较多效果不是太好。
  #location ~ .*\.(jpg|jpeg|gif|css|png|ico|html)$
  #{
  # expires 30d;
  # root /nginx-1.10.1;#root:
  # break;
  #}
    
  #对 "/" 启用负载均衡
  location / {
     
   root html;  #默认主页目录在nginx安装目录的html子目录
    
   index index.html index.htm index.aspx; #没有索引页时,罗列文件和子目录
   #proxy_pass http://www.imicrosoft.net; #跟载均衡服务器的upstream对应    
   autoindex on; #没有索引页时,罗列文件和子目录
    
   #保留用户真实信息
   proxy_redirect off; #url不跳转
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   #缓冲区代理缓冲用户端请求的最大字节数,可以理解为先保存到本地再传给用户
   # client_body_buffer_size 128k;
   # #跟后端服务器连接超时时间 发起握手等候响应超时时间
   # proxy_connect_timeout 12;
   # #连接成功后 等待后端服务器响应时间 其实已进入后端的排队之中等候处理
   # proxy_read_timeout 90;
   # #代理请求缓存区 这个缓存区间会保存用户的头信息一共Nginx进行规则处理 一般只要能保存下头信息即可
   # proxy_send_timeout 90;
   # #同上 告诉Nginx保存单个用的几个Buffer最大用多大空间
   # proxy_buffer_size 4k;
   # proxy_buffers 4 32k;
   # #如果系统很忙的时候可以申请国内各大的proxy_buffers 官方推荐 *2
   # proxy_busy_buffers_size 64k;
   # #proxy 缓存临时文件的大小
   proxy_temp_file_write_size 64k;
   # proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
   proxy_max_temp_file_size 128m;
   #启动代理
   proxy_pass http://localhost;
   client_max_body_size 10m; #允许客户端请求的最大单个文件字节数
  }
  
    
    
  #示例一
  #location / {
  #  proxy_pass http://imicrosoft.net;
  
  #  proxy_redirect default;
  #  
  #  proxy_set_header Host $host;
  #  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  #}
    
  #示例二
  #location /tileservice {
  #  proxy_pass http://cluster/MongoTileService/tileService;
  #  proxy_set_header Host $host;
  #  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  #}
    
    
  #error_page 404    /404.html;
  
  # redirect server error pages to the static page /50x.html
  #
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
   root html;
  }
  
  # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  #对 "/XXXXX.PHP" 启用负载均衡
  #location ~ \.php$ {
  # proxy_pass http://127.0.0.1;
  #}
    
  #location /baidu
  #{
  #proxy_pass http://www.google.com;
  #proxy_set_header Host $host;
  #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  #}
    
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  #
  #location ~ \.php$ {
  # root   html;
  # fastcgi_pass 127.0.0.1:9000;
  # fastcgi_index index.php;
  # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  # include  fastcgi_params;
  #}
  
  # deny access to .htaccess files, if Apache's document root
  # concurs with nginx's one
  #
  #location ~ /\.ht {
  # deny all;
  #}
 }
  
  
 # another virtual host using mix of IP-, name-, and port-based configuration
 #
 #server {
 # listen  8000;
 # listen  somename:8080;
 # server_name somename alias another.alias;
  
 # location / {
 #  root html;
 #  index index.html index.htm;
 # }
 #}
  
  
 # HTTPS server
 #
 #server {
 # listen  443 ssl;
 # server_name localhost;
  
 # ssl_certificate  cert.pem;
 # ssl_certificate_key cert.key;
  
 # ssl_session_cache shared:SSL:1m;
 # ssl_session_timeout 5m;
  
 # ssl_ciphers HIGH:!aNULL:!MD5;
 # ssl_prefer_server_ciphers on;
  
 # location / {
 #  root html;
 #  index index.html index.htm;
 # }
 #}
  
}

结果如图:

IIS站点



以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

相关文章

  • Nginx中全局变量整理小结

    Nginx中全局变量整理小结

    对于Nginx下全局变量整理,方便使用Nginx的朋友调用全局变量。
    2010-08-08
  • 解决国内k8s的ingress-nginx镜像无法正常pull拉取问题

    解决国内k8s的ingress-nginx镜像无法正常pull拉取问题

    本文主要介绍了解决国内k8s的ingress-nginx镜像无法正常pull拉取问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • 使用Nginx让网站快速置灰的方法

    使用Nginx让网站快速置灰的方法

    这篇文章主要介绍了使用Nginx让网站快速置灰的方法,首先是查看当前编译的版本是否支持http_sub_module模块,如果不支持需要重新编译增加此模块,具体配置方法参考下本文
    2023-11-11
  • nginx代理实现静态资源访问的示例代码

    nginx代理实现静态资源访问的示例代码

    本文主要介绍了nginx代理实现静态资源访问的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Nginx的使用经验小结

    Nginx的使用经验小结

    相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额。今天我们就简单介绍下本人在使用nginx的过程中的一些小小的经验
    2017-10-10
  • Nginx自定义日志中时间格式的操作方法

    Nginx自定义日志中时间格式的操作方法

    工作需要对接内部的日志中台,对日志打印有固定的格式要求,为了使Nginx的access日志也能被采集,需要对日志格式进行自定义,这篇文章主要介绍了Nginx自定义日志中时间格式,需要的朋友可以参考下
    2023-11-11
  • nginx 502 Bad Gateway 错误解决办法

    nginx 502 Bad Gateway 错误解决办法

    一些运行在Nginx上的网站有时候会出现“502 Bad Gateway”错误,有些时候甚至频繁的出现。以下是小编搜集整理的一些Nginx 502错误的排查方法,供参考
    2013-10-10
  • windows下nginx如何操作命令

    windows下nginx如何操作命令

    这篇文章主要介绍了windows下nginx如何操作命令,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • nginx 多站点配置方法集合

    nginx 多站点配置方法集合

    关于nginx的多站设置,其实和apache很相似,假设我们已经有两个域名,分别是:www.websuitA.com和www.websuitB.com。并且这两个域名已经映射给了IP为192.168.1.1的服务器。
    2011-06-06
  • Nginx could not build the server_names_hash 错误的解决办法

    Nginx could not build the server_names_hash 错误的解决办法

    这篇文章主要介绍了Nginx could not build the server_names_hash 错误的解决办法,需要的朋友可以参考下
    2014-03-03

最新评论