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是一高性能的一个反向代理服务器,对于反向代理,百度百科的描述:
反向代理(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代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- Nginx+Naxsi部署专业级Web应用防火墙
- CentOS 6.2实战部署Nginx+MySQL+PHP
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- Nginx 学习笔记(一)
- 网站502与504错误分析
- 用zabbix监控nginx_status状态
- 艰难完成 nginx + puma 部署 rails 4的详细记录
- 把Lua编译进nginx步骤方法
- web 应用中常用的各种 cache详解
- Linux系统上配置Nginx+Ruby on Rails+MySQL超攻略
- window+nginx+php环境配置 附配置搭配说明
- 解析CI即CodeIgniter框架在Nginx下的重写规则
- 将PHP从5.3.28升级到5.3.29时Nginx出现502错误
- 基于Nginx0.8.54+PHP5.3.4+MySQL5.5.8的全新LNMP稳定版架构搭建的VPS