windows系统安装及配置nginx

1、下载nginx

下载路径:http://nginx.org/en/download.html,下载稳定版本,以nginx/Windows-1.8.1为例,直接下载 nginx-1.8.1.zip,然后解压。解压的后如下所示:

 

2、启动nginx

启动的方式有多种方式:

(1)直接双击nginx.exe,双击之后会显示一个黑色的弹窗,一闪而过。

(2)打开cmd命令窗口,切换到nginx的解压目录,输入nginx.e或者start nginx,回车即可,此时的光标会一直在此闪烁。

3、检查nginx是否成功

直接在浏览器地址栏输入网址http://localhost:80,回车,出现以下页面说明启动成功

也可以在cmd命令窗口中输入tasklist /fi "imagename eq nginx.exe",出现下面的结果说明启动成功。

4、nginx.conf的说明

这里访问http://localhost:80来测试也是有原因的,下面来看一下nginx的配置文件。在conf目录下有个nginx.conf文件,其中的默认配置nginx监听的端口是80,如果80端口被占用,将其修改成未被占用的端口即可。

主要配置server代码块中的这些配置:

1、listen:表示当前的代理服务器监听的端口,默认的是监听80端口。如果不设置的话,默认监听所有IP的80端口,也可指定监听IP和端口,如 listen 172.0.0.1:8000。

2、server_name:表示监听之后需要转到哪里去,可以直接配置ip:port形式,也可以通过hosts文件中做映射,hosts文件地址一般为:C:\Windows\System32\drivers\etc。

3、root:里面配置了root,这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件访问很有用。

4、index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。

5、location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里。

检查80是否被占用的命令:netstat -ano | findstr 0.0.0.0:80或netstat -ano | findstr "80"(建议使用前者)

当我们修改了nginx的配置文件nginx.conf后,不需要关闭nginx重启nginx,只需要执行命令nginx -s reload即可让变更的内容生效。

5、关闭nginx

如果使用cmd命令启动的nginx,关闭cmd窗口是不可以结束nginx的进程的,可以使用两种方式来关闭nginx。

(1)输入nginx命令 nginx -s stop(快速停止nginx)或nginx -s quit(完整有序的关闭程序)

(2)使用taskkill命令 taskkill /f /t /im nginx.exe

6、使用nginx实现负载均衡和反向代理

(1)实现反向代理

提起反向代理肯定得说说正向代理了,下面将正向代理和反向代理的对比进行一个简述:

正向代理:一般在系统内部,只要是正向代理服务器能够与外界交互,为了使应用服务器在内网能够访问外部接口,所以就需要通过正向代理服务器做一层统一转发。作用和优点:对内网内其他不能访问外网的服务器提供转发服务,使其能够通过代理转发网络请求,对外屏蔽了实际发送网络请求的服务器信息。

反向代理:不强调在系统内部只有反向代理服务器能够访问外网(但一般也是部署在内网),反向代理的侧重点在于,在服务器集群部署(往往需要负载均衡策略)的情况下,对外提供统一的ip和端口号,便于外界访问。(毕竟集群下多个服务器对应多个IP)作用和优点:对外提供统一的入口(IP),便于客户端访问,保护实际处理请求的服务器信息。

二者区别:(1)对等方不同:正向代理服务的是内网内的其他计算机;反向代理服务的是客户端,是对外服务的。(2)角色不同:正向代理消费服务,向外发请求;反向代理提供服务对外处理请求。

当然也可以写成另一种形式:

server {

       listen 80;

       server_name 127.0.0.1;

       location /eframe_2/ {

                proxy_pass http://127.0.0.1:8080/eframe_2/;

                index index.html index.htm;

       }

}

server {

       listen 80;

       server_name 127.0.0.2;

       location /eframe-2x/ {

             proxy_pass http://172.16.26.92:3109/eframe-2x/;

             index index.html index.htm;

        }

}

(2)实现负载均衡

负载均衡即将 请求/数据 轮询分摊到多个服务器上执行,负载均衡的关键在于 均匀

修改nginx的配置文件nginx.conf达到访问nginx代理服务器的时候跳转到指定的服务器的目的,即通过proxy_pass配置请求转发给地址,也就是当我们输入http://localhost:80时,请求跳转到我们配置的服务器。

同理,我们可以配置多个目标服务器,当一台服务器出现故障时,nginx能将请求自动转向另一台服务器,配置如下:

当服务器localhost:8080挂掉的时候,nginx能自动访问服务器172.16.26.92:3109。上面还加了一个weight属性,它表示的是各个服务器被访问到的权重,weight。访问的是权重为2的地址,权重越高,访问的几率越大。后面属性意思就是说在30s内尝试2次失败即认为主机不可用

说明:

1、upstream模块配置服务集群ip+端口,默认负载均衡算法是轮询(即2台机器轮流处理请求);

2、server模块监听80端口;

3、location 模块将请求后台接口的请求代理到upstream模块配置的服务集群。

7、nginx常用命令

nginx -s stop       快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。

nginx -s quit       平稳关闭Nginx,保存相关信息,有安排的结束web服务。

nginx -s reload     因改变了Nginx相关配置,需要重新加载配置而重载。

nginx -s reopen     重新打开日志文件。

nginx -c filename   为 Nginx 指定一个配置文件,来代替缺省的。

nginx -t            不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。

nginx -v            显示 nginx 的版本。

nginx -V            显示 nginx 的版本,编译器版本和配置参数。

如果不想每次都敲命令,可以在nginx安装目录下添加一个批处理文件startup.bat,双击即可运行。

内容如下:

@echo off

rem 如果启动前已经启动nginx并记录下pid文件,会杀死指定进程

nginx.exe -s stop

rem 测试配置文件语法正确性

nginx.exe -t -c conf/nginx.conf

rem 显示版本信息

nginx.exe -v

rem 按照指定配置去启动nginx

nginx.exe -c conf/nginx.conf

 

 

 

 

 

 

 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值