您的位置:首页 > 运维架构 > Nginx

nginx的windows环境下安装与参数解释

2016-07-07 09:17 711 查看
1.      nginx是什么

nginx是一高性能的一个反向代理服务器,对于反向代理,百度百科的描述:

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 

 

 

Windows下安装Nginx

首先从官网下载Nginx http://nginx.org/en/download.html
以目前最新的1.6.3为例

下载之后解压到D盘,D:\nginx-1.6.3

不需要安装,现在就可以启动nginx了,可以直接双击启动,或者从命令行启动

D:\nginx-1.6.3>start nginx.exe  

启动之后看下进程里面是否有两个nginx.exe

接下来就可以验证:

出现这个页面,说明nginx已经可以工作了

 

如果无法访问此页面,说明没有启动成功,看下日志(D:\nginx-1.6.3\logs\error.log)是否报了如下一个错误                   

Starting nginx:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address alre…..)

上述错误是因为80端口被占用导致,可以更改监听端口,或者更改windows注册表,解除windows自己占用的80端口(更改注册表的方法,可以参考百度经验,http://jingyan.baidu.com/article/11c17a2c15f300f447e39d7d.html

更改之后,重新启动后,会有个dos窗口一闪而过,这不是出错了,只要看到nginx.exe的进程说明启动就成功了。

如果改了nginx.conf配置文件之后,不需要重新重启nginx,可以热加载

1.     首选对脚本进行语法正确性检查

Nginx –t 命令进行脚本检查,在热加载之前必须执行这步,否则如果脚本配置有错误,将导致nginx无法正常工作

2.     出现上面这种测试没有问题的提示之后,就可以执行reload步骤

执行后重新加载成功

events {
#最大并发数,如果访问量大,需要更改此参数,默认为1024
worker_connections 10240;
}

http {
include mime.types;
default_type application/octet-stream;

sendfile on;
keepalive_timeout 20;

#proxy_connect_timeout 连接超时时间,是指nginx向后台服务发起握手的等待时长,如果配置时间内,未连接到服务,则超时不进行等待
proxy_connect_timeout 15;

#proxy_read_timeout 等待服务器响应的时间(后台需要执行大批量的数据逻辑或导出时,默认60s)
proxy_read_timeout 40;

#proxy_send_timeout nginx到服务端的请求发送时间(上传大文件时,默认60s)
proxy_send_timeout 10;

# 配置多个服务,在第一个服务访问超时后会将请求转到第二个服务,weight表示权重(访问几率),数字越大被转发到的记录就越大
#这里的地址不能带http:// 而proxy_pass的配置需要带http://
# 在一定时间内(fail_timeout配置),允许的访问后端服务最多失败次数(不包含404错误),默认为1,设置为0表示不进行检查,
#这2个参数一起配合,来控制nginx怎样认为upstream中的某个server是失效的当在fail_timeout的时间内,某个server连接失败了max_fails次,则nginx会认为该server不工作了。同时,在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server
#注意:参数和=号之间不能有空格,否则检查不通过

upstream local_tomcat {
server 127.0.0.1:8090 weight=5; #max_fails=3 fail_timeout=600s;
#server 192.168.1.127:8008 weight=5 max_fails=3 fail_timeout=600s;
}

server {
listen 80;

#配置静态数据访问,使用正则表达式对请求地址进行分类,属于指定静态数据类的,不通过后台服务直接获取静态资源
# location ~ \.(html|js|css|png|gif)$ {
# root E:/work/tools/apache-tomcat-6.0.45/webapps/ROOT;
# }

location /esop {
proxy_pass http://local_tomcat; }
location /ipu-server {
proxy_pass http://localhost:8090; }
location /terminal-bj-branch {
proxy_pass http://localhost:8080; }

#配置出现错误时的显示页面(这里的错误不是后台应用出错,而是nginx访问后台超时等一系列的错误)
# error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx