windows下nginx安装、配置与使用
#下载地址
http://nginx.org/en/download.html
选择Stable version下载
#安装
解压即可
#使用
1)作为文件服务器
修改conf文件夹下的nginx.conf文件,在server内添加以下配置
location /visit {
alias D:/FTP/dsm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
其中:
alias 当客户端请求/visit/file.ext 的时候,Nginx把请求映射为D:/FTP/dsm/file.ext;与root的区别是:root则把请求映射为D:/FTP/dsm/visit/file.ext 。
autoindex 默认是不允许列出整个目录的,如需此功能,则设置为on。
autoindex_exact_size 默认为on,显示出文件的确切大小,单位是bytes。
autoindex_localtime 默认为off,显示的文件时间为GMT时间,改为on后,显示的文件时间为文件的服务器时间。
2)作为负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。
扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。
修改conf文件夹下的nginx.conf文件,在http内添加以下配置
upstream backend{
server 192.168.1.250:15005 max_fails=2 fail_timeout=600s;
server 192.168.1.115:8080 max_fails=2 fail_timeout=600s backup;
}
max_fails:定义可以发生错误的最大次数
fail_timeout:nginx在fail_timeout设定的时间内与后端服务器通信失败的次数超过max_fails设定的次数,则认为这个服务器不在起作用;在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server。
backup:这台服务器就会成为备份服务器。在平时不使用,nginx不会给它转发任何请求。只有当其他节点全部无法连接的时候,nginx才会启用这个节点。一旦有可用的节点恢复服务,该节点则不再使用,又进入后备状态。
健康检查机制:Nginx在检测到后端服务器故障后,nginx依然会把请求转向该服务器,当nginx发现timeout或者refused后,会把改请求会分发到upstream的其它节点,直到获得正常数据后,nginx才会把数据返回给用户
在server内添加以下配置
location / { proxy_pass http://backend;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_403 http_404 non_idempotent;
proxy_next_upstream_tries 1;
proxy_connect_timeout 5s;
proxy_read_timeout 5s;
proxy_send_timeout 5s;
}
#启动或关闭nginx
1)启动
在bin目录下执行
start nginx
2)终止进程
nginx -s stop
3) 完成已经接受的连接请求,优雅的终止进程
nginx -s quit
4)重新生成日志文件,在切割日志时用途较大
nginx -s reopen
5)平滑重启,重新加载配置文件
nginx -s reload
#设置开机自启
1)下载https://github.com/winsw/winsw/releases/tag/v2.10.3下的这个文件 WinSW.NET4.exe ,然后复制到nginx根目录,并且将其重命名为nginx-service.exe
2)在nginx根目录下新建一个xml文件:nginx-service.xml,内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <service> <id>nginx</id> <name>nginx</name> <description>nginx service</description> <logpath>F:\nginx-1.18.0\logs\</logpath> <logmode>roll</logmode> <depend></depend> <executable>F:\nginx-1.18.0\nginx.exe</executable> <stopexecutable>F:\nginx-1.18.0\nginx.exe -s quit</stopexecutable> </service>
3)在nginx安装目录下以管理员运行命令:.\nginx-service.exe install 就成功将其注册为Windows服务了,并设置开机自启
4)常用命令
nginx-service.exe install 命令可注册对应的系统服务 nginx-service.exe uninstall 命令可删除对应的系统服务 nginx-service.exe stop 命令可停止对应的系统服务 nginx-service.exe start 命令可启动对应的系统服务