Windows下Nginx安装与配置教程

2018-09-11 11:32:32 浏览数 (1)

一、前言

1、Nginx是什么?

Nginx是一个开源的Web服务器,同时Nginx也提供了反向代理和负载均衡的功能。 Nginx通常作为负载均衡器暴露在外网接受用户请求,同时也使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器。

2、Windows什么情况下需要Nginx?

通常来说Windows下IIS就够用了,支持 .NET、ASP、PHP等等,不过如果你需要做负载均衡那你就需要Nginx,或者说你在一台服务器上,部署了Apache、IIS、Tomcat等多个Web服务器,这时候把80端口或443端口给Nginx在合适不过了。

当然,作为商业公司来说,通常不会有以上情况,但是如果你是个草根站长。或者说你想把你的Windows开发机作为服务器对外提供服务,那把你的Windows装上Nginx再合适不过了。

3、本篇环境信息

工具/环境

版本

Windows

Windows 10 - 1803

Nginx

1.15.2

二、安装过程

1、下载Nginx

官方下载地址:http://nginx.org/en/download.html

这次我们下载1.15.2版本:http://nginx.org/download/nginx-1.15.2.zip

下载后,将nginx-1.15.2.zip解压到 C:ToolsNginx

请注意,Nginx目录所在的路径中不要有中文字符,也不建议有空格。

2、启动Nginx

使用CMD命令start命令启动nginx

代码语言:javascript复制
c: && cd c:toolsnginx
start nginx

如果开启了Windows防火墙,记得允许访问网络。

3、访问测试

启动成功后,浏览器访问 localhost,即可看到Nginx 欢迎页

如果启动启动失败,可能是IIS占用了80端口。去掉IIS监听的80端口即可。

三、Nginx常用配置

1、Nginx配置文件说明

Nginx所有配置文件都在Nginx根目录conf子目录中(C:ToolsNginxconf) Nginx核心配置文件: C:ToolsNginxconfnginx.conf

我们的常用配置只需要在nginx.conf中调整server节点就可以了 在nginx.conf文件末尾有如下示例

代码语言:javascript复制
# 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;
    #    }
    #}

这个示例我们保留即可,我们配置反向代理、负载均衡直接在后面追加即可

2、Nginx配置示例

  • 反向代理配置示例
代码语言:javascript复制
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;
    }
}
  • 负载均衡配置示例
代码语言:javascript复制
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;
    }
}

3、配置验证

修改C:WindowsSystem32driversetchosts文件将测试域名指向本机IP

代码语言:javascript复制
127.0.0.1 blog.test.ken.io
127.0.0.1 ss.test.ken.io

重载Nginx配置

代码语言:javascript复制
c: && cd c:toolsnginx
nginx -s reload

然后浏览器访问域名即可验证

四、备注

1、Nginx常用命令说明

命令

说明

nginx -h

查看帮助信息

nginx -v

查看Nginx版本

nginx -s stop

停用Nginx

nginx -s quit

优雅的停用Nginx(处理完正在进行中请求后停用)

nginx -s reload

重新加载配置,并优雅的重启进程

nginx -s reopen

重启日志文件

2、附录

  • 本篇参考

https://nginx.org/en/docs/windows.html

  • 延伸阅读

将Nginx作为Windows服务并开机启动:http://blog.haoji.me/windows-nginx-server.html

0 人点赞