Nginx是一个开源的Web服务器,同时Nginx也提供了反向代理和负载均衡的功能。 Nginx通常作为负载均衡器暴露在外网接受用户请求,同时也使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器。
通常来说Windows下IIS就够用了,支持 .NET、ASP、PHP等等,不过如果你需要做负载均衡那你就需要Nginx,或者说你在一台服务器上,部署了Apache、IIS、Tomcat等多个Web服务器,这时候把80端口或443端口给Nginx在合适不过了。
当然,作为商业公司来说,通常不会有以上情况,但是如果你是个草根站长。或者说你想把你的Windows开发机作为服务器对外提供服务,那把你的Windows装上Nginx再合适不过了。
工具/环境 | 版本 |
---|---|
Windows | Windows 10 - 1803 |
Nginx | 1.15.2 |
官方下载地址:http://nginx.org/en/download.html
这次我们下载1.15.2版本:http://nginx.org/download/nginx-1.15.2.zip
下载后,将nginx-1.15.2.zip解压到 C:\Tools\Nginx
请注意,Nginx目录所在的路径中不要有中文字符,也不建议有空格。
使用CMD命令start命令启动nginx
c: && cd c:\tools\nginx
start nginx
如果开启了Windows防火墙,记得允许访问网络。
启动成功后,浏览器访问 localhost,即可看到Nginx 欢迎页
如果启动启动失败,可能是IIS占用了80端口。去掉IIS监听的80端口即可。
Nginx所有配置文件都在Nginx根目录conf子目录中(C:\Tools\Nginx\conf)
Nginx核心配置文件: C:\Tools\Nginx\conf\nginx.conf
我们的常用配置只需要在nginx.conf中调整server节点就可以了 在nginx.conf文件末尾有如下示例
# 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;
# }
#}
这个示例我们保留即可,我们配置反向代理、负载均衡直接在后面追加即可
server {
listen 80; #监听80端口
server_name blog.test.ken.io; #监听的域名
location / { #转发或处理
proxy_pass https://ken.io;
}
error_page 500 502 503 504 /50x.html;#错误页
location = /50x.html {
root /usr/share/nginx/html;
}
}
upstream serverswitch {
server 127.0.0.1:8080;
server 127.0.0.1;
}
server {
listen 80; #监听80端口
server_name ss.test.ken.io; #监听的域名
location / { #转发或处理
proxy_pass https://serverswitch;
}
error_page 500 502 503 504 /50x.html;#错误页
location = /50x.html {
root /usr/share/nginx/html;
}
}
修改C:\Windows\System32\drivers\etc\hosts
文件将测试域名指向本机IP
127.0.0.1 blog.test.ken.io
127.0.0.1 ss.test.ken.io
重载Nginx配置
c: && cd c:\tools\nginx
nginx -s reload
然后浏览器访问域名即可验证
命令 | 说明 |
---|---|
nginx -h | 查看帮助信息 |
nginx -v | 查看Nginx版本 |
nginx -s stop | 停用Nginx |
nginx -s quit | 优雅的停用Nginx(处理完正在进行中请求后停用) |
nginx -s reload | 重新加载配置,并优雅的重启进程 |
nginx -s reopen | 重启日志文件 |
https://nginx.org/en/docs/windows.html
将Nginx作为Windows服务并开机启动:http://blog.haoji.me/windows-nginx-server.html